Skip to content

chore(agents): grant question: allow on director mode cards - #1350

Merged
aarontrowbridge merged 1 commit into
mainfrom
1349-choreagents-grant-question-allow-on-director-mode-cards
Sep 20, 2026
Merged

aarontrowbridge merged 1 commit into
mainfrom
1349-choreagents-grant-question-allow-on-director-mode-cards

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

Closes #1349.

Problem

The director mode cards (develop, research) don't declare the question permission, so under the engine's current defaults those agents are denied the question tool — the card-authored interview/ask flows fail in director modes. The engine-level fix is tracked separately in harmoniqs/opencode#372; this grant makes the cards self-documenting and independent of engine default drift.

Change

Two insertions: question: allow added to the permission: frontmatter of packages/extension/agents/develop.md and research.md. Cast subagent cards (experimenter, analyzer, hypothesizer, implementer, librarian) deliberately unchanged — they never block on the user.

Verification

  • Card/staging test suites: bun run test test/mode_cards.test.ts test/mode_cards_staging.test.ts test/role_cards.test.ts → 84 passed
  • bun run typecheck (packages/extension) → clean
  • Staged-vs-source byte-identity staging test tracks the source edit automatically (no fixture change needed — no test pins the frontmatter key set)

@aarontrowbridge aarontrowbridge linked an issue Sep 20, 2026 that may be closed by this pull request
3 tasks
@coderabbitai

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: e2b5041e-18d9-492c-a04e-4a2d020af5b7


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@aarontrowbridge
aarontrowbridge marked this pull request as ready for review September 20, 2026 22:39
@aarontrowbridge
aarontrowbridge merged commit d404fc6 into main Sep 20, 2026
11 of 12 checks passed
@aarontrowbridge
aarontrowbridge deleted the 1349-choreagents-grant-question-allow-on-director-mode-cards branch September 20, 2026 22:39
jeonghun-jj-lee added a commit that referenced this pull request Sep 20, 2026
…:allow (#1348)

#1350 added `question: allow` to agents/develop.md and agents/research.md
but didn't update the bundle cards at modes/{develop,research}/card.md.
The mode_registry parity test (AC9) enforces byte-identity — this broke
the fast CI job on main.
jeonghun-jj-lee added a commit that referenced this pull request Sep 20, 2026
…1348) (#1351)

* Fix 9 pre-existing overlay type errors (#1348)

Running the app typecheck (tsgo -b, which pulls its project refs) surfaces
9 base-drift errors on main. Fix all 9 for real (no allowlist):

- ui/connection-picker.tsx: annotate implicit-any onClick `e` as MouseEvent.
- app.tsx: type bulk-warm `recent` as SessionV2Info[] (its true v2-list
  element type, was over-narrowed to {id}) and bridge to the promise-typed
  normalizeSessionInfo at the call site; Suspense fallback is an element,
  not a function (ErrorBoundary's stays a function).
- directory-sync.ts: expose `prefetch` on the dir-sync session facade,
  delegating to serverSync.session.prefetch (fixes session-header's call).
- server-session.ts: add `diff_version` to the `data` store — clears both
  directory-sync's read and dropSessionCaches' SessionCache assignability.
- event-reducer.test.ts: complete the tool-part fixture into a valid
  ToolPart (callID + a valid completed ToolState).
- server-sdk.tsx: type the fetch wrappers as a minimal FetchLike (typeof
  fetch now requires a preconnect member; lib drift) and cast to
  `typeof fetch` at the consumers that insist on it.

manifest.json hashes refreshed for the edited overlay files.

* Extend typecheck gate to all overlay-touched packages (#1348)

CI typechecked only `opencode` (engine_typecheck_gate.sh). The overlay also
modifies app/ui/session-ui/core/schema/sdk/llm, none reached by that gate or
the fast job's `pnpm -r run typecheck` (the overlay is not a pnpm workspace
member) — so a broken type in the SolidJS app/ui overlay merged green.

Add overlay_typecheck_gate.sh mirroring engine_typecheck_gate.sh's fail-closed
tsgo-banner assertion, looping every overlay-touched non-opencode package in
the materialized tree. No allowlist — all 9 base-drift errors were fixed, so
ANY error fails CI. Wire it into ci.yml's engine-tests lane right after the
engine typecheck step (same materialized tree). The opencode gate and its
#1229 allowlist are untouched.

* fix(ops): forward vitest's node to the skill-freshness orchestrator (#1348)

The orchestrator script hardcodes PATH for its production cadence host,
which can resolve a different (older) node than the one vitest runs under.
When the CI runner upgraded to Node 24 (which strips .mts natively), the
test's skip-guard passed but the shelled-out script found an older node
that choked on .mts — ERR_UNKNOWN_FILE_EXTENSION.

Fix: add SKILL_FRESHNESS_NODE env knob (defaults to 'node'); the test
forwards process.execPath so the lint runs under the same node as vitest.
All 6 previously-failing orchestrator tests now pass.

* fix(modes): sync bundle cards with agents/ after #1350 added question:allow (#1348)

#1350 added `question: allow` to agents/develop.md and agents/research.md
but didn't update the bundle cards at modes/{develop,research}/card.md.
The mode_registry parity test (AC9) enforces byte-identity — this broke
the fast CI job on main.
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.

chore(agents): grant question: allow on director mode cards

1 participant