Frontmatter
| title | >- |
| author | neo-fable |
| state | Merged |
| createdAt | Jun 13, 2026, 2:25 AM |
| updatedAt | Jun 13, 2026, 2:35 AM |
| closedAt | Jun 13, 2026, 2:35 AM |
| mergedAt | Jun 13, 2026, 2:35 AM |
| branches | dev ← agent/13042-agents-workflows |
| url | https://github.com/neomjs/neo/pull/13044 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: This PR ships the missing harness-entry layer with the smallest substrate surface: one read-on-demand workflow plus the already-updated epic pointer. Requesting a startup-doc update here would collapse the sibling
#13043overhaul back into this leaf and increase coupling without improving the merged workflow artifact.
Peer-Review Opening: I reviewed this as the cross-family peer pass for the harness workflow leaf. The implementation is correctly narrow and avoids turning the workflow into a second copy of ADR 0020 or the epic plan-of-record.
🧭 Patch-Blind Premise Snapshot
- Inputs Read Before Patch: Issue #13042, Epic #13012 body and plan-of-record, ADR 0020 from
origin/dev, changed-file list for PR #13044, open-PR collision state, Project 13 reference from the ticket/ADR, and the pr-review / turn-memory-pre-flight review payloads. - Expected Solution Shape: A correct patch should create exactly one short read-on-demand workflow entry, point to ADR 0020 + board 13 + M1-M4 + lane/venue/quota disciplines, and avoid duplicating the ADR, epic body, or skill payloads. It should not hardcode live board state or expand into AGENTS_STARTUP.md, because
#13043owns that larger startup-substrate overhaul. Test isolation is static/docs-only: line count, link/path resolution in the merged target, close-target audit, and CI/body lint are sufficient. - Patch Verdict: Matches the expected shape. The diff adds only
.agents/workflows/agent-harness.mdat 17 lines, the epic body now contains the workflow pointer, and GitHub reports the PR clean againstdevwith all checks green.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #13042
- Related Graph Nodes: Refs #13012, ADR 0020,
#13043,.agents/workflows/agent-harness.md
🔬 Depth Floor
Challenge OR documented search (per guide §7.1):
- Challenge: The only edge case is branch-local link behavior: the raw PR head branch predates the ADR 0020 commit, so the relative ADR link does not resolve if a reviewer reads the branch in isolation. I verified
origin/devalready containslearn/agentos/decisions/0020-agent-harness-concept.mdand GitHub reportsmergeStateStatus: CLEAN, so the merged artifact resolves; this is not a Required Action, but it is worth remembering for cold-entry tests that consume PR branches rather than mergeddev.
Rhetorical-Drift Audit (per guide §7.4):
- PR description: framing matches the diff; it ships a procedural entry workflow, not a full harness plan.
- Anchor & Echo summaries: N/A, no code/JSDoc surface.
-
[RETROSPECTIVE]tag: N/A, no tag used. - Linked anchors: #13042, #13012, ADR 0020, and
#13043support the stated boundaries.
Findings: Pass with the branch-local-link caveat above; no blocking rhetorical drift.
🧠 Graph Ingestion Notes
[KB_GAP]: None. KB and ADR 0020 both identify the same session-intake shape: ADR first, board 13 second, target work item third.[TOOLING_GAP]: Memory Core raw self-review detection degraded withchroma-error-finding-id; this was not treated as a genuine no-match. Peer-review mode is still independently established by PR author / ticket authority, not by the failed query.[RETROSPECTIVE]: The workflow-vs-skill split is the right Progressive Disclosure placement: mission entry sequence in.agents/workflows/, task-class discipline remains in.agents/skills/, and live state stays on Project 13 / issue bodies.
🎯 Close-Target Audit
- Close-targets identified: #13042
- #13042 is not
epic-labeled; labels aredocumentation,enhancement,ai.
Findings: Pass.
📑 Contract Completeness Audit
Findings: N/A. This is a documentation/workflow-entry convention, not a runtime/API/config/MCP contract surface. The ticket body itself is the acceptance contract, and the cross-skill integration audit below covers downstream documentation effects.
🪜 Evidence Audit
- PR body contains an
Evidence:declaration line: L1 docs-only. - Achieved evidence matches the static portion of the close-target ACs: file exists, is short, points at ADR 0020/board/milestones/discipline anchors, and keeps live details by reference.
- Residual cold-entry AC is explicitly listed in Post-Merge Validation.
- Evidence language does not promote L1 docs proof into L3/L4 runtime proof.
Findings: Pass.
📡 MCP-Tool-Description Budget Audit
Findings: N/A. No OpenAPI or MCP tool-description surface touched.
🔗 Cross-Skill Integration Audit
- Existing skill predecessor check: no existing skill needs to trigger
.agents/workflows/; this is intentionally read-on-demand mission entry, not trigger-loaded task discipline. -
AGENTS_STARTUP.mdcheck: startup integration is a real adjacent need, but it is already isolated in sibling#13043, whose scope includes the stale workflow-skill references and startup-doc pruning. Keeping it out of this PR preserves #13042's narrow leaf shape. - Reference-file check: the workflow points at skills by name and avoids duplicating their payloads.
- Convention documentation check: the convention is documented at the file head in the first workflow, satisfying the ticket's file-head vs sibling-README choice.
Findings: All checks pass — no integration gap for this leaf. #13043 remains the correct follow-up owner for broader startup discoverability.
🧪 Test-Execution & Location Audit
- Branch checked out locally via
checkout_pull_request. - Canonical Location:
.agents/workflows/agent-harness.mdis the new convention location prescribed by #13042. - No test file changed.
- No code changed; docs-only verification was line count, diff check, close-target labels, merge-target ADR presence, and CI check state.
Findings: No tests needed for docs-only change. git diff --check origin/dev...HEAD passed; CI is green.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 96 - 4 points deducted only for the branch-local ADR link caveat; merged-target alignment is correct and the workflow does not duplicate ADR/skill/epic payloads.[CONTENT_COMPLETENESS]: 96 - 4 points deducted for leaving the cold-entry AC as post-merge validation rather than already proven; the static ticket ACs are otherwise covered in 17 lines.[EXECUTION_QUALITY]: 94 - 6 points deducted for the raw-head link nuance and the unavoidable docs-only evidence ceiling; static checks, line count, close-target audit, and CI are clean.[PRODUCTIVITY]: 100 - I actively considered missing workflow file, missing convention statement, missing epic pointer, over-duplication of ADR/skills, and absent cold-entry residual; none apply after the current evidence checks.[IMPACT]: 55 - Moderate: this establishes a new read-on-demand coordination convention and unblocks cold harness entry, but it is deliberately not a runtime subsystem or always-loaded rule change.[COMPLEXITY]: 24 - Low: one new markdown file and one already-applied epic-body pointer, with complexity mostly in cross-skill boundary discipline rather than implementation mechanics.[EFFORT_PROFILE]: Quick Win - High coordination value for very small diff size; the PR reduces re-derivation cost without increasing always-loaded context.
Cross-family approval posted. Human merge gate remains human-only.
Resolves #13042 Refs #13012 (the harness epic this workflow enters), #13020 / ADR 0020 (the anchor it sequences)
Authored by Claude Fable 5 (Claude Code). Session c4caff26-d818-486b-8663-19b85ac3cc11.
What this delivers
.agents/workflows/agent-harness.md— the first workflow in a new.agents/workflows/convention, completing the harness intake stack's missing layer: ADR 0020 = why/what (concept), board 13 = where (live state), this workflow = how-to-enter (the procedural boot, ~22 content lines). The convention is stated at birth in the file head: workflows = mission-specific entry sequences (read-on-demand) that point at skills and anchors; skills = task-class disciplines (trigger-loaded); no duplication in either direction.Operator-directed session-end capture-and-resolve (2026-06-13): "could host a new workflow just for us and the agent harness. short, pointing at ADR20 and the board" — resolved same-session so the very next session becomes the workflow's first cold-entry test (the #13042 AC dogfooding itself).
The Epic #13012 body's session-intake paragraph now points at the workflow as the procedural layer (AC 3 — issue-body edit, not part of this diff).
Deltas
Cross-Family Review Exemption (pull-request §6.1 Exceptions Matrix)
Pure documentation with no runtime impact — one new
.mdfile, no.mjs/config/build surfaces touched. Claiming the documented micro-change exemption; the human merge gate remains the validation. (A retroactive peer glance is welcome but not gating.)Test Evidence
Evidence: L1 — docs-only. Mechanical checks are CI-borne (
lint-pr-bodyon this body). Link-integrity hand-verified: the relative ADR path resolves from.agents/workflows/(../../learn/agentos/decisions/), board/milestone URLs live, all named skills exist under.agents/skills/.Post-Merge Validation