tea-cli: tea api exits 0 on HTTP errors and prefixes NOTE: lines to stdout — audit every helper that pipes it into jq #260
Labels
No labels
component:adapters
component:lifecycle
component:qa
component:setup
component:shared
component:worktrees
phase/accepted
phase/backlog
phase/deployed
phase/developing
phase/integrating
phase/planning
phase/qa
phase/requirements
phase/uat
priority:critical
priority:critical
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:bug
type:chore
type:docs
type:feature
type:infra
type:tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jbr870/devwork-skills#260
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Spawned from finding
F-PO-61-3-2(pre-existing, severity high) on issue #61 during decisionD-PO-61-3-2.Original scope note: Two independent defects in the forge CLI this project's
tea-cliadapter is built on, both confirmed live during #61's run and neither introduced by it:tea apiexits 0 on HTTP-level errors. It returns exit 0 on 403 and 404; it fails non-zero only on client-side errors such as an unknown login name. Anything judging success by return code gets a false green.tea apiprefixes advisory lines to stdout.NOTE: no login matched this repository, falling back to login '<x>'is printed before the body, so the JSON does not start at byte zero and a naive| jqfails.Every helper in the suite that pipes
tea apiintojqis exposed on both counts. The blast radius is_shared/procedures/bin/and thetea-cliadapter generally — the same code path that writes and reads every typed phase record.Disposition rationale: This is the same class the repo has already legislated against twice — the rc-checked-stdout rule (#33) and the gate-output rule (#49) — so the principle is settled and only the audit-and-fix work remains. It belongs to
component:adaptersand wants its own slice; folding it into a devcontainer feature would bury a suite-wide correctness issue inside an infra ticket.acceptwould knowingly leave a false-green surface in the code that records what every phase did.Shape of the work:
tea apicall site inplugin/skills/_shared/procedures/bin/andplugin/skills/tea-cli/bin/.jq.glab/ghhave the same behaviour before writing a tea-only fix.This issue was deferred out of the parent feature's scope; it carries no PREQ yet. Run
/dev:requirements --issue={this}to flesh it out before planning.