Summary
specfact backlog daily and specfact backlog delta status behave inconsistently for provider/config resolution and required options.
backlog daily github works immediately.
backlog delta status requires --project-id even when project config exists.
- after passing
--project-id, runtime error asks for repo owner/name, but delta status -h exposes no repo flags.
- both snake_case and kebab-case repo flags are rejected as unknown.
Version / environment
- SpecFact CLI:
v0.46.25
- OS: macOS
Config in repo
.specfact/backlog-config.yaml:
backlog_config:
providers:
github:
adapter: github
project_id: 'tangoatlas'
settings:
github_issue_types:
type_ids: {}
Reproduction
1) Daily works with adapter argument
specfact backlog daily github
Result: succeeds and renders standup tables.
2) Delta status requires project-id
specfact backlog delta status
Result:
Missing option '--project-id'.
3) Passing positional adapter does not help
specfact backlog delta status github
Result:
Missing option '--project-id'.
4) Passing project-id triggers repo requirement
specfact backlog delta status --project-id tangoatlas
Result:
Error: repo_owner and repo_name required to fetch backlog items
5) repo flags are not available on command
specfact backlog delta status --project-id tangoatlas --repo-owner danieldekay --repo-name tangoatlas
Result:
No such option: --repo-owner
(and --repo_owner/--repo_name also fail)
Help output mismatch
specfact backlog delta status -h shows only:
--project-id (required)
--adapter (default github)
--since
--baseline-file
--template
No repo owner/name options are exposed, but runtime still requires them.
Why this is a bug
The command contract is internally inconsistent:
- runtime requires values that cannot be provided as flags on the command.
- config/default resolution differs from
backlog daily behavior, even under the same provider context.
- error messages reference
repo_owner/repo_name (snake_case) while CLI uses kebab-case naming elsewhere.
Expected behavior
Any of these would make behavior consistent and usable:
delta status should resolve repo/project from backlog config/provider defaults similarly to daily, OR
delta status should expose explicit --repo-owner and --repo-name options in help and accept them, OR
- both.
Additionally, error text should use CLI-facing option names (kebab-case) and include exact remediation.
Reference
Backlog module docs page used for context:
Summary
specfact backlog dailyandspecfact backlog delta statusbehave inconsistently for provider/config resolution and required options.backlog daily githubworks immediately.backlog delta statusrequires--project-ideven when project config exists.--project-id, runtime error asks for repo owner/name, butdelta status -hexposes no repo flags.Version / environment
v0.46.25Config in repo
.specfact/backlog-config.yaml:Reproduction
1) Daily works with adapter argument
Result: succeeds and renders standup tables.
2) Delta status requires project-id
Result:
3) Passing positional adapter does not help
Result:
4) Passing project-id triggers repo requirement
Result:
5) repo flags are not available on command
Result:
(and
--repo_owner/--repo_namealso fail)Help output mismatch
specfact backlog delta status -hshows only:--project-id(required)--adapter(default github)--since--baseline-file--templateNo repo owner/name options are exposed, but runtime still requires them.
Why this is a bug
The command contract is internally inconsistent:
backlog dailybehavior, even under the same provider context.repo_owner/repo_name(snake_case) while CLI uses kebab-case naming elsewhere.Expected behavior
Any of these would make behavior consistent and usable:
delta statusshould resolve repo/project from backlog config/provider defaults similarly todaily, ORdelta statusshould expose explicit--repo-ownerand--repo-nameoptions in help and accept them, ORAdditionally, error text should use CLI-facing option names (kebab-case) and include exact remediation.
Reference
Backlog module docs page used for context: