Repository navigation
Conversation
This was referenced Oct 27, 2026
This was referenced Oct 27, 2026
This was referenced Oct 28, 2026
This branch has not been deployed
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 this changes
Replaces the disabled blocker workflow with current-state reconciliation for issue/PR lifecycle, dependencies and explicit holds. Adds workflow-health incidents, advisory PR issue-link checks, actual Railway deployment evidence, and a weekly exceptions report with epic acceptance candidates.
Why
Part of #340. The old workflow did not add cards or follow PRs, referenced a removed status, and could mark assigned work Ready. Native project settings have already been repaired; this PR supplies the repository automation. Keep #340 open until hosted activation and lifecycle acceptance pass.
Zone
.githubonly. Companion documentation #345 and agent guidance #346 have already merged; this PR supplies the runbook and automation they reference. File rationale is included below.How to verify
Passed locally on the submitted source:
make check npx --yes --package=node@22 node --test .github/scripts/*.test.cjs node scripts/check-labels.mjsActionlint passed for all added/changed workflow YAML, and
git diff --checkpassed. Self-review covered the trusted default-branch checkout, credential boundaries, paginated reads, report deduplication and acceptance-preserving state policy.Read-only live API previews confirmed board convergence, weekly candidates, PR-link advice and the production deployment's exact PR association. They did not publish reports/comments or validate the Actions secret. Offline tests cover lifecycle transitions, holds, incomplete reads, stale schedules, reporting recovery and trusted deployment evidence.
make checkcovers fast suites; database-specific CI remains separate.Validation after review fixes
Fresh CI passed on
d7edb79dc346261f8ab75424fcef6d9689b01550, including the board-automation suite.node --test .github/scripts/*.test.cjs, Actionlint on all workflows changed by this PR, label consistency and local Markdown link/anchor checks passed.make checkpassed with locked dependencies and Python imports pinned to this worktree.github.head_refwarning in unchangedmain-source-guard.yml; the changed workflows pass.Checklist
stagingand targetsstaging.make checkpassed..github/PROJECT-BOARD.md; audit evidence and per-file rationale are recorded here.Deployment notes
The companion documentation is already merged. After this PR merges into
staging, validatePROJECTS_TOKENwith the documented manual dry runs, then exercise write mode and real lifecycle/scheduled events. GitHub explicit closing links own issue closure; these workflows do not mark unfinished acceptance passed. Health/report labels and the native report exclusion are already configured. Production deployment-event handling needs the workflow to reachmainthrough normal promotion.Review fixes
Changed-file rationale
.github/scripts/project-board.cjs.github/scripts/project-board.test.cjs.github/scripts/workflow-activation.test.cjs.github/scripts/automation-common.cjs.github/scripts/board-reports.cjs.github/scripts/pr-issue-check.cjs.github/scripts/deployment-evidence.cjs.github/scripts/automation.test.cjs.github/workflows/project-board.yml.github/workflows/automation-health.yml.github/workflows/pr-issue-check.yml.github/workflows/deployment-evidence.yml.github/workflows/board-review.yml.github/workflows/blocked-ready-automation.yml(removed).github/workflows/ci.yml.github/PROJECT-BOARD.mdHistorical audit evidence (2026-10-26; not new hosted acceptance)
Native project settings were inspected and reconciled on 2026-10-26 (Toronto).
The 2026-10-26 native-settings audit preceded publication of the repository
changes. Hosted execution and credential validation remain rollout steps. A temporary live
issue verified native auto-add → Backlog, Done → closed, reopened → Backlog,
and closed → Done; the issue was then closed as not planned and archived.
The local controller was also checked in read-only mode against the live API.
Updating the held subtitle PR also proved native PR auto-add. Its existing
review state initially put it In progress, so the explicit Backlog disposition
was restored manually. Native rules do not understand
on hold; enforcingthat override automatically requires the replacement reconciler to be live.
The additional 2026-10-26 read-only preview found approved PRs #317/#320,
unassigned P1 issues #46/#82/#342, and epic #60 with closed direct sub-issues but
unchecked acceptance. PR #331 produced a missing-link advisory. Production
deployment
7323061607resolved to PR #330 with Railway observations fordocumentation-system, doc-discover and doc-source-refresh. The health preview
correctly reported the new workflows absent from GitHub before merge; its
project probe used the local login, not the Actions secret. No preview reports
or deployment comments were published.