Repository navigation
feat(factory): five read-only specialist reviewer briefs - #7
Draft
Bthornton1994 wants to merge 1 commit into
Draft
Bthornton1994 wants to merge 1 commit into
Bthornton1994 wants to merge 1 commit into
Conversation
Add server/factory-specialist-briefs.ts: codebase navigator, security and privacy, UI and accessibility, game and interaction design (StageForge, Loadout), and release-readiness reviewer briefs. Each keeps the factory task-pattern v1 fields and adds a reviewer role with when-to-use, keyed required evidence, report outcomes and sections, uncertainty rules, stop conditions, and a completion condition. The briefs are read-only by construction: the reviewer action ceiling has no edit, commit, push, approval, merge, deploy, flag, gate, readiness, or QA-disposition action, and every brief forbids them. No outcome may read as a pass, approval, or clearance. renderSpecialistBrief refuses missing required inputs, and checkSpecialistReport refuses a concluding outcome without its evidence, a verified claim without a citation, or BLOCKED / NOT RUN without saying what is missing. The task-pattern catalog and specialist profiles are only on draft PRs, so this module imports neither and leaves the implementer, independent QA, and completion-report patterns untouched. No bots, routing, bridge, lanes, or dependencies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152NPtBTrqUhRy7bfMxVnkm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Adds five read-only reviewer briefs as a small typed module. It creates no bots, changes no routing, adds no dependencies, and adds no dispatch or orchestration.
server/factory-specialist-briefs.tsserver/factory-specialist-briefs.test.tsdocs/factory/specialist-briefs.mdBriefs:
codebase-navigatorMAPPEDrun-tests,run-typechecksecurity-privacy-reviewFINDINGS,NO_FINDINGSrun-tests,run-typecheckui-accessibility-reviewFINDINGS,NO_FINDINGSinspect-uigame-interaction-review(StageForge, Loadout)FINDINGS,NO_FINDINGSinspect-uirelease-readiness-reviewRECONCILED,MISMATCHread-ci-status,read-deploy-statusEvery brief also has
BLOCKEDandNOT RUN.Each brief keeps the task-pattern v1 fields (
id,version,role,objective,inputs,steps,permittedTools,permittedActions,forbiddenActions,expectedArtifact,stopConditions). It adds:role: "reviewer"whenToUserequiredEvidenceoutcomesandreportSections(the output format)uncertaintyRules, rendered after shared rules on labelling, missing inputs and NOT RUNDone when …completionConditionRead-only by construction
edit-files,commit,push-fork,approve-pr,merge,undraft,deploy,set-product-flags,clear-owner-gates,clear-project-gates,claim-production-readiness,record-qa-disposition,submit-qa-clearance,give-legal-advice,attest-for-owner, and the catalog's other hard-forbidden ids.PASS,PASS_KEEP_DRAFT,APPROVED,READY,MERGE…,LAUNCH…andDEPLOY….Fail-closed
renderSpecialistBriefrefuses a missing required input, and the error says the review is BLOCKED.checkSpecialistReportrefuses a report that:PASS,NOT RUN,TBD)reviewedShathat isn't a full SHAverifiedwithout citing evidenceBLOCKEDorNOT RUNwithout naming what is missingmergeClearanceIndependent QA is unchanged and stays independent.
PASS_KEEP_DRAFTstaysPASS_KEEP_DRAFT.RECONCILEDonly means all four sources were read for the same SHA. It is not clearance.Why
The factory needs reusable reviewer briefs that cannot be read as approval, QA, or launch clearance, and that report BLOCKED or NOT RUN rather than guessing when inputs or evidence are missing.
Assumptions (checked before coding)
server/factory-task-patterns.ts,docs/factory-task-patterns.md,server/factory-specialist-profiles.tsanddocs/factory/specialist-profiles.mdexist on mainc223a3ac223a3a,git ls-files | grep -iE 'task-pattern|specialist|factory'returns onlydocs/factory/agent-systems.md. The catalog is on draft #1 (367822c) and #2 (eb1c5f1) only. The profiles are on draft #5 (83ed9ef) only.factory-specialist-profiles.ts: "Listed here rather than imported so this tip does not depend on unmerged PR #1 modules".PASS_KEEP_DRAFTis an external QA disposition stringgit grep PASS_KEEP_DRAFTis empty on main and all draft branches. It is reported verbatim and can never be an outcome.git grepfinds nothing, so they are required inputs and the review is BLOCKED without them.docs/verification/README.mddoesn't applyFollow-up once the catalog lands on main. The briefs' text was checked once, in a scratch copy only, against draft #2's
findOverrideAttempts, with 0 hits. Moving them into the catalog would need areviewerrole and its ceiling there. Not done here, because the catalog isn't on main.How it was verified
Local checks ran in a Linux container as root on Node v22.22.0 (package.json wants >=24; pnpm warns about the engine only).
pnpm exec vitest run server/factory-specialist-briefs.test.tspnpm typecheck(tsc -b && tsc -p tsconfig.server.json)pnpm exec oxlint --deny-warnings .(also run by the pre-push hook)pnpm i18n:check(pre-push hook)node --experimental-strip-types -e "import('./server/factory-specialist-briefs.ts')…"pnpm exec vitest runc223a3apnpm exec vitest run electron/updater-handoff.electron.test.mjs server/checkpoints.test.ts server/cli-stop.e2e.test.ts server/kill-tree.test.ts server/local-computer-proxy.test.ts server/vps-computer.runner.test.tscheckpoints×2,cli-stop.e2e×2,kill-tree×2,vps-computer.runner×2). These are root-user file-permission and process-group signal tests in this container.pnpm exec vitest run electron/updater-handoff.electron.test.mjs server/local-computer-proxy.test.ts6f2c837typecheck + lint; vitest 8/8 shards (ubuntu-latest and windows-latest, 4 each); renderer, packaged-server (Ubuntu, Windows), macOS, Windows CUA, package + smoke, OSS edition, cloudflared, behavior evals, control-plane; overallCIsuccess. Kotlin/Android, Swift/iOS and CLA were skipped (paths not touched).Main, draft #1, #2, #4 and #5 heads are unchanged (checked with
git ls-remoteafter the push).Screenshots (UI changes)
None. There is no UI change.
Checklist
pnpm typecheckandpnpm testpass: typecheck passes locally, and CI ran the full suite on the exact SHA and it is green. Locally, 8 container-environment tests fail on main too, and 2 Electron files pass on re-run.dist-server/editsshell: true/ cmd.exe strings🤖 Generated with Claude Code
https://claude.ai/code/session_0152NPtBTrqUhRy7bfMxVnkm