Skip to content

fix: wire upstream command into CLI entry point#225

Merged
bradygaster merged 1 commit intobradygaster:mainfrom
tamirdresher:fix/upstream-cli-wiring
Mar 6, 2026
Merged

fix: wire upstream command into CLI entry point#225
bradygaster merged 1 commit intobradygaster:mainfrom
tamirdresher:fix/upstream-cli-wiring

Conversation

@tamirdresher
Copy link
Copy Markdown
Collaborator

Closes #224

The upstream command (add/remove/list/sync) was fully implemented in upstream.ts but never registered in cli-entry.ts. Running squad upstream returned Unknown command.

Fix: Added the if (cmd === 'upstream') routing block + help text entry (9 lines total).

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

The upstream command (add/remove/list/sync) was fully implemented in
upstream.ts but never registered in cli-entry.ts. Running 'squad upstream'
returned 'Unknown command'.

Closes bradygaster#224

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@tamirdresher
Copy link
Copy Markdown
Collaborator Author

@bradygaster when you get the chance

@bradygaster bradygaster merged commit 2c6079d into bradygaster:main Mar 6, 2026
1 of 2 checks passed
tamirdresher added a commit to tamirdresher/squad that referenced this pull request Mar 8, 2026
Both commands had full implementations (upstream.ts, watch.ts) but were
not routed in cli-entry.ts — the recurring 'unwired command' bug class
(issues bradygaster#224, bradygaster#236, bradygaster#237).

- upstream: add import + routing block for upstreamCommand()
- triage/watch: replace placeholder stub with actual runWatch() call
- help text: add upstream command description
- test: clear KNOWN_UNWIRED set (all commands now wired)

Root cause: Brady's cli-entry.ts rewrite (v0.8.21-0.8.23) overwrote
the wiring added in PRs bradygaster#225 and bradygaster#238.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher added a commit to tamirdresher/squad that referenced this pull request Mar 8, 2026
Both commands had full implementations (upstream.ts, watch.ts) but were
not routed in cli-entry.ts — the recurring 'unwired command' bug class
(issues bradygaster#224, bradygaster#236, bradygaster#237).

- upstream: add import + routing block for upstreamCommand()
- triage/watch: replace placeholder stub with actual runWatch() call
- help text: add upstream command description
- test: clear KNOWN_UNWIRED set (all commands now wired)

Root cause: Brady's cli-entry.ts rewrite (v0.8.21-0.8.23) overwrote
the wiring added in PRs bradygaster#225 and bradygaster#238.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher added a commit to tamirdresher/squad that referenced this pull request Mar 8, 2026
Both commands had full implementations (upstream.ts, watch.ts) but were
not routed in cli-entry.ts — the recurring 'unwired command' bug class
(issues bradygaster#224, bradygaster#236, bradygaster#237).

- upstream: add import + routing block for upstreamCommand()
- triage/watch: replace placeholder stub with actual runWatch() call
- help text: add upstream command description
- test: clear KNOWN_UNWIRED set (all commands now wired)

Root cause: Brady's cli-entry.ts rewrite (v0.8.21-0.8.23) overwrote
the wiring added in PRs bradygaster#225 and bradygaster#238.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher added a commit to tamirdresher/squad that referenced this pull request Mar 8, 2026
Both commands had full implementations (upstream.ts, watch.ts) but were
not routed in cli-entry.ts — the recurring 'unwired command' bug class
(issues bradygaster#224, bradygaster#236, bradygaster#237).

- upstream: add import + routing block for upstreamCommand()
- triage/watch: replace placeholder stub with actual runWatch() call
- help text: add upstream command description
- test: clear KNOWN_UNWIRED set (all commands now wired)

Root cause: Brady's cli-entry.ts rewrite (v0.8.21-0.8.23) overwrote
the wiring added in PRs bradygaster#225 and bradygaster#238.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster pushed a commit that referenced this pull request Mar 8, 2026
* fix: wire upstream and watch/triage commands in cli-entry.ts

Both commands had full implementations (upstream.ts, watch.ts) but were
not routed in cli-entry.ts — the recurring 'unwired command' bug class
(issues #224, #236, #237).

- upstream: add import + routing block for upstreamCommand()
- triage/watch: replace placeholder stub with actual runWatch() call
- help text: add upstream command description
- test: clear KNOWN_UNWIRED set (all commands now wired)

Root cause: Brady's cli-entry.ts rewrite (v0.8.21-0.8.23) overwrote
the wiring added in PRs #225 and #238.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: make tests resilient to team rebirths (name-agnostic assertions)

Tests that read live .squad/team.md and .squad/routing.md were hardcoding
agent names (Fenster, Keaton, Hockney). Every time Brady renames the squad
(e.g., Usual Suspects → Apollo 13), these tests break.

Fixed by making live-file tests assert structure and behavior, not names:
- parseRoster(): verify properties exist, not specific member names
- parseRoutingRules(): verify structure, emoji presence, not agent strings
- parseModuleOwnership(): verify shape, not which agent owns which module
- triageIssue(): verify source/confidence, not which agent was selected

Tests with inline fixtures (hardcoded test data) still assert specific
names — those are self-contained and don't break on rebirths.

Also bumps speed-gates line count budget for upstream help text.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jongio pushed a commit to jongio/squad that referenced this pull request Mar 9, 2026
src/parsers.ts: re-exports all parser functions + result types
src/types.ts: pure type re-exports, zero runtime code

Closes bradygaster#225, closes bradygaster#226

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: upstream command not wired into CLI

2 participants