Repository navigation
docs: bring docs, readmes and skills in line with the layers - #1392
Conversation
🧙 Wizard CIRun the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands: Test all apps:
Test all apps in a directory:
Test an individual app:
Show more apps
Test against a Context Mill branch:
Add Results will be posted here when complete. |
7c07207 to
d9d992c
Compare
d9d992c to
e66f35c
Compare
e66f35c to
27c16b4
Compare
5ebeb72 to
ec42380
Compare
|
/wizard-ci basic-integration/next-js |
🧙 Wizard CI ResultsTrigger ID:
Configuration
|
johncwaters
left a comment
There was a problem hiding this comment.
Note
Automated review. Not written by a human.
ec42380 to
7898c4a
Compare
7898c4a to
0eb0430
Compare
0eb0430 to
2e31e43
Compare
edwinyjlim
left a comment
There was a problem hiding this comment.
Review of #1392 at 2e31e438. Items outside this PR's diff lines:
[P3] The host layer's file header still calls wizardAbort the process's exit point
src/host/wizard-abort.ts:1-2
"Single exit point for the wizard. Use instead of process.exit() directly" contradicts AGENTS.md, the host README and the reference. It is the one comment the docs pass now contradicts.
Suggested fix: "Ends a decided failure: cleanup, error capture, analytics shutdown, the outro through the caller's presenter, then the host's exit resolves the code. Only the CLI calls process.exit."
Drafted with Claude Code from a review of the whole Release C stack, re-verified at the stack tip 2e31e438. Line numbers are at this PR's head.
|
|
||
| Neither the compiler nor these rules stop an `import()` of a computed path, | ||
| which TypeScript types as `any`, or a string a test hands `vi.importActual` | ||
| that has no `.tsbuild/` or `node_modules/` segment, which no project resolves. ESLint ignores `scripts/`, so the rules don't reach |
There was a problem hiding this comment.
[P2] The layer-boundaries reference says ESLint ignores scripts/; the config lints it with the fences
ESLint ignores only the .js, .mjs and .cjs scripts, lists scripts among the layers and adds a scripts/**/*.{ts,tsx} override. README.md:626-629, scripts/README.md and AGENTS.md all say scripts are fenced. The canonical reference contradicts them and its own table a few lines above.
Suggested fix: "ESLint lints scripts/*.ts with the layer fences only; the .js, .mjs and .cjs scripts are ignored. The harness project compiles them against its references."
| | `@agent` | `src/agent/index.ts`, the agent's runtime entry | | ||
| | `@agent/types` | `src/agent/types.ts`, type-only | | ||
| | `@agent/*` | `src/agent/*`, inside `src/agent` and its tests only | | ||
| | `@agent/*` | `src/agent/*`, for the agent's tests. The agent imports its own modules by relative path, and no other layer maps it | |
There was a problem hiding this comment.
[P2] "No other layer maps @agent/*" is false: every project maps the deep aliases, and ESLint, not the projects, keeps them home
tsconfig.no-tui.json and tsconfig.base.json map @agent/*, @programs/* and @cli/*; the registry and the program tests import @programs/.... What rejects a deep import from another layer is pnpm lint, as the same reference says at lines 214 to 215. The declaration-resolution rationale is also moot: a referenced project's declarations resolve with that project's own paths.
Suggested fix: Say every project maps the deep alias and pnpm lint rejects it outside the layer that owns it, so the agent and the programs import their own modules by relative path. Drop the declaration-resolution rationale. Same claim at line 641, src/agent/README.md:34 and src/programs/README.md:114.
| [`run-agent-quack.ts`](examples/run-agent-quack.ts) is the smallest `runAgent` | ||
| call. It builds a `RunConfig` with one prompt and no Write, Edit or Bash, and | ||
| prints the transcript tail and the outcome. Each step has a comment. | ||
| prints the transcript tail and the outcome. It logs in with `HostResolution`, |
There was a problem hiding this comment.
[P3] The runAgent example description names functions the example does not use
Suggested fix: "It logs in with resolveApiKeyProject from @shared/api-key-login, takes the gateway token from readCiGatewayCredential, and imports nothing from @programs." There is no bare @shared alias.
| `@shared/*` and the rest). Its own project, [`tsconfig.json`](tsconfig.json), | ||
| references every layer it imports, and `pnpm typecheck` fails a deeper `@tui/*` | ||
| import and any import of Ink or React. ESLint fails a deeper `@programs/*`, | ||
| `@agent/*` or `@cli/*` import and a relative import out of `e2e-harness/`. |
There was a problem hiding this comment.
[P3] The harness doc credits ESLint with the @cli/* ban
Suggested fix: "ESLint fails a deeper @programs/* or @agent/* import and a relative import out of e2e-harness/; @cli and @cli/* fail pnpm typecheck" because the harness project references no src/cli.
| | YARA scans of tool calls (Pre/PostToolUse) and of installed skills | [`yara-hooks.ts`](yara-hooks.ts) | | ||
|
|
||
| Import runtime values from `@agent` and types from `@agent/types`. `@agent` | ||
| exports `runAgent`, `RunOutcome` (from `@shared/run-state`, so the hosts read it |
There was a problem hiding this comment.
[P3] The @agent export list omits two exports
Suggested fix: Add scanVerdict and scanInstalledSkill, and say the TUI reaches the latter through @programs, or write "among others".
| | Tabs and status | [TabContainer](../../../../src/tui/primitives/TabContainer.tsx): local active tab, arrow navigation, optional expandable status | | ||
| | Single/multiple choice | [PickerMenu](../../../../src/tui/primitives/PickerMenu.tsx): columns, paging, filtering, and confirm-button interaction | | ||
| | Categorized choices | [GroupedPickerMenu](../../../../src/tui/primitives/GroupedPickerMenu.tsx): category headers, scrolling, and multi-select | | ||
| | Multi-select submission | [ConfirmButton](../../../../src/tui/primitives/ConfirmButton.tsx): bordered submit row with focus and optional count | |
There was a problem hiding this comment.
[P3] The rebase put back main's wrong ConfirmButton wording in the ink-tui skill
It calls ConfirmButton a "bordered submit row", but ConfirmButton.tsx:10 says the button renders flat, and it has no border.
Suggested fix: Restore "flat submit row with a focus marker and optional count".
Real-TUI snapshots: all nine programs on
|
Generated-By: PostHog Desktop Task-Id: d14e92bb-6ee1-49b5-8502-39cb80079589
2e31e43 to
1f7c894
Compare















































































































































































































































































Phase 2 of Release C (#1320), PR 4 of 4, after #1391. Docs only. Green on its own tree, which is the final code of the stack, and it lands with the rest of phase 2.
Problem
The docs, READMEs and skills name paths, aliases and hosts that the code in this stack no longer has. A contributor who follows them opens the wrong folder or imports an alias that does not resolve.
Changes
Docs only: no code or config changes.
README.mdgains a## What calls whatsection: each way in, from the CLI throughrunTuiorrunHeadlesstorunProgramandrunAgent, plus the tools.## Entrypoint: bin.tsreplacesrun.ts.src/cli,src/headless,src/host,src/toolsandsrc/tui. Each says what the layer's entry is and what it may import.src/programs/README.mdandsrc/shared/README.mdare rewritten.docs/developer-interfaces.mdcoversrunProgram,runAgent, the session store and## Hosts.AGENTS.md, the skills under.claude/skills/,docs/local-dev.md,docs/error-catalog.md,docs/runbooks/aio-capture.md, thesrc/agentandscriptsREADMEs,e2e-harness/ARCHITECTURE.mdanddocs/images/wizard-run-paths.svgname the current folders and entries.Test plan
pnpm typecheck0 errors,pnpm lint0 errors, 236 test files (3,515 tests) pass,pnpm buildok.Created with PostHog Desktop