docs: refresh active documentation#1277
Conversation
nhopeatall
left a comment
There was a problem hiding this comment.
Summary
Requesting changes because the active README still renders stale generated architecture assets: the D2 source includes Linear/Sentry, but the generated diagram assets were not regenerated.
Code Issues
Should Fix
- docs/architecture.d2:18 — The visible architecture diagram remains stale. README embeds
docs/architecture.jpg, and the generated SVG/JPG do not include the newly added Linear/Sentry nodes. Updating only the D2 source means users still see the old diagram in the README.
🕵️ codex · gpt-5.5 · run details
| PM: { | ||
| trello | ||
| jira | ||
| linear |
There was a problem hiding this comment.
Adding Linear/Sentry to the D2 source is not enough while the generated assets stay stale: README.md embeds docs/architecture.jpg, and docs/architecture.svg still has no linear/sentry labels. Please regenerate the generated diagram assets or stop embedding the stale image in active docs before merging this documentation refresh.
There was a problem hiding this comment.
Fixed. Since the d2 renderer is not available in this environment, I've taken the alternative approach you suggested: removed the stale <img src="docs/architecture.jpg"> embed from README.md and replaced it with a prose note that points readers to docs/architecture.d2 and the D2 CLI render command. The README no longer surfaces a diagram that contradicts the updated D2 source.
There was a problem hiding this comment.
Fixed. The Post-spec-011 table row now says the WebhookStep "was retained temporarily" and "was fully migrated into the manifest path in spec 012 (see Post-spec-012 additions below)" — removing the contradictory "remains for now / follow-up scope" language.
Replace the embedded docs/architecture.jpg (stale — missing Linear/Sentry nodes) with a prose note pointing readers to the D2 source and the d2 CLI render command, so the README no longer surfaces a diagram that contradicts the updated docs/architecture.d2. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
nhopeatall
left a comment
There was a problem hiding this comment.
Summary
Requesting changes because one active integration guide section still documents the pre-spec-012 webhook migration state.
Code Issues
Should Fix
- src/integrations/README.md:195 — This row still says the legacy
WebhookStepremains and that migration into the manifest path is follow-up scope. That is now false: the same README says spec 012 deletedWebhookStep/LinearWebhookInfoPaneland that every PM wizard step renders through the manifest path, and currentweb/src/components/projects/pm-wizard.tsxconfirms the legacy webhook slot is gone. This was also an explicit work-item requirement (remove the stale “WebhookStep remains” statement), so the active docs remain internally contradictory.
🕵️ codex · gpt-5.5 · run details
The Post-spec-011 integration guide row said "The legacy WebhookStep remains … migration into the manifest path is follow-up scope." Spec 012 completed that migration (WebhookStep deleted, every PM wizard step now renders via the manifest path), making the statement both false and internally contradictory with the Post-spec-012 section immediately below it. Update the row to reflect that WebhookStep was temporarily retained during spec 011 and fully migrated in spec 012. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
nhopeatall
left a comment
There was a problem hiding this comment.
Summary
Requesting changes because two refreshed architecture sections still describe runtime contracts incorrectly.
Code Issues
Should Fix
- docs/architecture/03-trigger-system.md:60 — The
TriggerResultcode block still documentswaitForChecks?: boolean, but the actual type insrc/types/index.tsno longer has that field and the GitHub webhook code documents that worker-side wait-for-checks polling was removed. - docs/architecture/01-services.md:98 —
mergeabilityRecheckAttemptis documented on theJOB_TYPErow, but the router serializes it into the GitHub job object insideJOB_DATAand the worker readsjobData.mergeabilityRecheckAttemptafter parsingJOB_DATA.
Verification: npx vitest run --project unit-core tests/unit/architecture-docs.test.ts passes.
🕵️ codex · gpt-5.5 · run details
| prTitle?: string; | ||
| waitForChecks?: boolean; // Poll CI before starting | ||
| onBlocked?: () => void; // Cleanup if job can't be enqueued | ||
| deferredRecheck?: { |
There was a problem hiding this comment.
Since this interface block is being refreshed for deferred re-checks, it also needs to drop the stale waitForChecks?: boolean line above. The actual TriggerResult in src/types/index.ts no longer has that field, and the GitHub webhook path explicitly documents that worker-side waitForChecks polling was removed.
There was a problem hiding this comment.
Fixed. Removed the stale waitForChecks?: boolean line from the TriggerResult code block — the field no longer exists in src/types/index.ts. The block now correctly shows only the fields that are actually present in the type.
| |----------|---------| | ||
| | `JOB_ID` | Unique job identifier | | ||
| | `JOB_TYPE` | `trello`, `github`, `jira`, `linear`, `sentry`, `manual-run`, `retry-run`, `debug-analysis` | | ||
| | `JOB_TYPE` | `trello`, `github`, `jira`, `linear`, `sentry`, `manual-run`, `retry-run`, `debug-analysis`; GitHub jobs may also carry `mergeabilityRecheckAttempt` for deferred re-checks | |
There was a problem hiding this comment.
mergeabilityRecheckAttempt is not part of JOB_TYPE; the router serializes it into the GitHub job object and passes it through JOB_DATA, then the worker reads jobData.mergeabilityRecheckAttempt. Keeping it on the JOB_TYPE row makes the worker env contract look different from the source.
There was a problem hiding this comment.
Fixed. Moved the mergeabilityRecheckAttempt mention from the JOB_TYPE row to the JOB_DATA row in the environment-variable table. The router serializes it into the GitHub job object (confirmed in src/router/queue.ts and src/worker-entry.ts), so it lives in the JSON-encoded JOB_DATA payload, not in the job-type discriminator string.
- Remove `waitForChecks?: boolean` from the TriggerResult code block in 03-trigger-system.md; the field no longer exists in src/types/index.ts - Move `mergeabilityRecheckAttempt` mention from the JOB_TYPE row to the JOB_DATA row in 01-services.md; the router serializes it into the GitHub job object inside JOB_DATA, not as part of the job type string Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
nhopeatall
left a comment
There was a problem hiding this comment.
LGTM - the refreshed active docs now match the source-of-truth paths I checked, the previous review issues are resolved, and the architecture docs guard passes locally.
🕵️ codex · gpt-5.5 · run details
Summary
Refreshes active CASCADE documentation against the current source of truth.
Card: https://trello.com/c/69feeabdd0108e5d166b7f51
Changes
tests/unit/architecture-docs.test.tsfor active Markdown links,.md.donespec links, canonicalalerting:issue-alert, currentcascade-toolsnamespaces, stalework_itemswording, andCLAUDE.md/AGENTS.mdsynchronization.alertsPM slot setup,.cascade/ensure-services.sh, and currentcascade-toolscommand examples.pr_work_itemsalert materialization, deferred re-checks, dispatch retry/lock compensation, worker crash diagnostics, and D2 source coverage for Linear/Sentry..md.donespecs.Notes
docs/architecture.d2was updated to include Linear and Sentry. Generateddocs/architecture.svganddocs/architecture.jpgwere not regenerated because thed2renderer is not installed in this environment.npm run lintexits successfully but still reports two pre-existing Biome complexity warnings in Sentry alerting runtime files unrelated to this documentation change.Verification
npx vitest run --project unit-core tests/unit/architecture-docs.test.tsnpx vitest run --project unit-core tests/unit/agents/prompts.test.ts --project unit-triggers tests/unit/triggers/trigger-event-consistency.test.tsnpm run lint:fixnpm run lintnpm run typechecknpm test🕵️ codex · gpt-5.5 · run details