Skip to content

harness: codify the seed run — discovery-to-orchestration v3 run shape#471

Merged
rickylabs merged 6 commits into
mainfrom
harness/seed-run-profile
Jul 5, 2026
Merged

harness: codify the seed run — discovery-to-orchestration v3 run shape#471
rickylabs merged 6 commits into
mainfrom
harness/seed-run-profile

Conversation

@rickylabs

Copy link
Copy Markdown
Owner

What

Codifies the agentic pipeline that produced plan-roadmap-expansion--seed (PR #397; board
#399#461) as a reusable Harness v3 run shape: the seed run.

  • .llm/harness/workflow/seed-run.md — the profile. Stage contracts A–I (bootstrap → discovery
    corpus → synthesis → deep-dive packs → plan lock → adversarial → PLAN-EVAL → owner ratify +
    one-shot filing → handoff), lane bindings by reference to lane-policy.md only, evidence-citation
    gate, drafts-only-until-ratification boundary, GitHub-authority-after-filing rule, scale-to-fit +
    "when NOT to use", landmine pointers, dogfood acceptance criterion.
  • .llm/harness/templates/supervisor.md — template for the mandatory run-identity file. The
    file is mandated by lane-policy.md but had no template — the plausible root cause of the
    exemplar run never writing one (its supervisor identity had to be recovered by transcript
    search). workflow/activation.md now also lists supervisor.md under Mandatory Artifacts.
  • Wiringworkflow/activation.md (bootstrap step 10), harness README.md,
    netscript-harness SKILL (+ regenerated .claude/skills/ mirror).

Why

The exemplar run took a replan from zero to a fully-planned, GitHub-native, implementation-ready
board in one shot — empirical discovery (repo + docs + market), synthesized objectives, per-epic
design packs, adversarial + evaluator verdicts, owner-ratified one-shot filing. Owner directive:
make that pipeline repeatable for every big triage / deep-search / plan / orchestration job. This
PR freezes the stage contracts (not the exemplar's folder tree) so a fresh supervisor can
execute A→I from the doc alone.

Run artifacts

.llm/runs/harness-seed-run-profile--codify/supervisor.md written first (dogfooding the gate
the exemplar missed), research.md (exemplar distillation with citations), plan.md (locked
decisions LD-1..LD-8), worklog/drift/context-pack.

Gates

  • validate-claude-surface.ts — all 5 checks ok (skills mirror SYNCED, 17 skills).
  • Internal references in seed-run.md verified to resolve.
  • fmt note: .llm/harness/**/*.md is outside the repo fmt surface (deno.json fmt.include is
    packages/plugins ts,tsx); the 29-file raw-fmt drift there is pre-existing and untouched
    (non-verdict per AGENTS.md).

Evaluation plan (this PR does not self-certify)

WSL Codex adversarial pass → fixes → OpenHands separate-session eval → owner ratification. Docs-only
change: no packages//plugins/ source touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN

rickylabs and others added 3 commits July 5, 2026 16:24
Run dir for codifying the plan-roadmap-expansion--seed pipeline as a
reusable v3 run shape. supervisor.md written before any other artifact,
dogfooding the identity gate the exemplar run violated (drift #2).
research.md distills the exemplar stages with citations; plan.md locks
LD-1..LD-8 (name=seed run, home=workflow/, contracts-over-template,
lane bindings by reference, dogfood acceptance).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
New v3 run shape workflow/seed-run.md: planning-only runs whose
deliverable is a GitHub board. Stage contracts A-I (bootstrap ->
discovery corpus -> synthesis -> deep-dive packs -> plan lock ->
adversarial -> PLAN-EVAL -> owner ratify + one-shot filing -> handoff),
lane bindings by reference to lane-policy.md only, evidence-citation
gate, drafts-only-until-ratification boundary, GitHub-authority-after-
filing rule, scale-to-fit + when-NOT-to-use, dogfood acceptance.
Promoted from plan-roadmap-expansion--seed (PR #397; board #399-#461).

templates/supervisor.md fills the systemic gap: the identity file is
mandatory (lane-policy) but had no template, which is the plausible
root cause of the exemplar never writing one.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
activation.md: bootstrap step 10 (seed-run branch) + supervisor.md
added to Mandatory Artifacts (it was mandated by lane-policy but absent
from the activation checklist - the second half of the systemic gap).
README.md: Start Here pointer + supervisor.md in the artifact list.
netscript-harness SKILL: Key Concepts row, decision-tree branch,
Reference Files row; .claude/skills mirror regenerated via
sync-claude-skills.ts (SYNCED). validate-claude-surface.ts all-ok.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
@rickylabs

Copy link
Copy Markdown
Owner Author

Slice trail (S1–S3)

Slice Commit Scope Evidence
S1 run scaffolding ebaaf935 .llm/runs/harness-seed-run-profile--codify/ — supervisor.md written first, research.md (exemplar distillation w/ citations), plan.md (LD-1..LD-8), worklog/drift/context-pack supervisor-identity gate dogfooded; drift #2 records the exemplar's violation + root cause
S2 profile 23ccc8f6 workflow/seed-run.md (stage contracts A–I) + templates/supervisor.md (missing-template gap fix) internal refs verified to resolve (lane-policy, resource-aggregation, tooling, labels.yml)
S3 wiring 7c5fd0d8 activation.md (step 10 + supervisor.md in Mandatory Artifacts), harness README, netscript-harness SKILL + regenerated .claude/skills/ mirror sync-claude-skills.ts SYNCED (17 skills); validate-claude-surface.ts all 5 checks ok

Next: WSL Codex adversarial pass → fixes → OpenHands separate-session eval → owner ratification.

rickylabs and others added 2 commits July 5, 2026 16:32
Attack surfaces: contradictions with harness law, restated bindings,
fresh-agent executability, G->H ratification-boundary loopholes,
template soundness, reference integrity, mirror integrity, overclaims.
Findings-only contract; no repo edits by the reviewer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
Codex verdict: 0 blockers, 6 major, 2 minor, mirror byte-identical.
Fixes per adversarial-triage.md:
1. Mutation boundary split into two surfaces: the run draft PR is the
   always-writable commit trail; the board (issues/epics/milestones/
   repo labels) is untouchable before stage H.
2. plan/ registered in the netscript-pr branch taxonomy (seed-run only)
   instead of the harness doc contradicting the canonical skill.
3. Stage B now carries the Tier-C hard rule: workflow.js committed
   under <run-dir>/workflows/ before execution, or the corpus is not
   Stage-B proof.
4. Stage F de-hardcoded from Tier D to distinct-model invariants
   (unoriented, separate session, findings-only); tier per supervisor.md.
5. phase-registry.md scoped to multi-group runs per activation step 9.
6. drift #3: the eval exception is precisely PLAN-EVAL-skipped
   (owner-directed); OpenHands verdict retained; ships for ratification.
7. worklog/context-pack refreshed to PR #471 reality.
8. FILING-LOG.md spelling unified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
@rickylabs

Copy link
Copy Markdown
Owner Author

S4–S5: adversarial pass complete, all findings fixed

S4 (e48fcafb): WSL Codex unoriented adversarial review — fresh clone, branch-verified, brief committed to the run dir. Verdict: 0 blockers, 6 major, 2 minor, .claude/skills mirror byte-identical. Full findings: .llm/runs/harness-seed-run-profile--codify/adversarial-findings.md.

S5 (604e8ae5): all 8 findings accepted and fixed (dispositions: adversarial-triage.md):

  1. Mutation boundary split into two surfaces — the run's own draft PR is the always-writable commit trail; the board (issues/epics/milestones/repo labels) is untouchable before stage H.
  2. plan/ branch type registered in the netscript-pr taxonomy (seed-run only) — reconciled in the canonical home rather than contradicting it.
  3. Stage B now carries the Tier-C hard rule (committed workflow.js before execution).
  4. Stage F de-hardcoded from Tier D to distinct-model invariants; tier is per-run config in supervisor.md.
  5. phase-registry.md scoped to multi-group runs.
  6. Eval exception precisely scoped (drift Migrate shared Zod datetime codecs to Temporal #3): PLAN-EVAL skipped (owner-directed, docs-only run); separate-session OpenHands verdict retained; ships to owner for ratification — not claimed as doc-authorized.
  7. Run artifacts refreshed to PR harness: codify the seed run — discovery-to-orchestration v3 run shape #471 reality.
  8. FILING-LOG.md spelling unified.

Next: OpenHands separate-session eval, then owner ratification. This run does not self-certify or merge.

@rickylabs

Copy link
Copy Markdown
Owner Author

@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment You are the separate-session harness evaluator for this docs-only PR. Do NOT implement fixes; produce a verdict.

Read, in order:

  1. .llm/harness/workflow/lane-policy.md (the two hard invariants + supervisor-identity rule)
  2. .llm/harness/workflow/run-loop.md and .llm/harness/workflow/activation.md
  3. .agents/skills/netscript-pr/SKILL.md (branch/label/filing law)
  4. The run dir .llm/runs/harness-seed-run-profile--codify/ (supervisor.md, research.md, plan.md LD-1..LD-8, worklog.md, drift.md, adversarial-findings.md, adversarial-triage.md)
  5. The deliverables: .llm/harness/workflow/seed-run.md, .llm/harness/templates/supervisor.md, and the wiring diff vs main (git diff main...HEAD)

Evaluate:

  • E1 Plan conformance: do the deliverables implement locked decisions LD-1..LD-8 without silent scope drift?
  • E2 Internal consistency: does seed-run.md contradict lane-policy/run-loop/activation/netscript-pr anywhere the adversarial pass missed? Were all 8 triaged findings actually fixed in the doc text (verify each against adversarial-triage.md)?
  • E3 Fresh-agent executability: could a supervisor with no chat history run stages A–I from seed-run.md alone? Name any remaining ambiguity.
  • E4 Process integrity: run artifacts current, slice trail (5 commits) matches worklog, drift log honest (incl. drift Migrate shared Zod datetime codecs to Temporal #3 PLAN-EVAL exception), no packages//plugins/ source touched, no board mutation by this run.

Output a PR comment: verdict PASS or FAIL_FIX with a numbered findings list (file:line + evidence quote for each). Do not commit source changes; do not commit deno.lock churn.

@rickylabs

rickylabs commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

OpenHands Agent — Completed

Model: openrouter/minimax/minimax-m3
Provider: OPENROUTER
Job status: failure
Trace: .llm/tmp/run/openhands/pr-471/run-28744305384-1 (committed to the PR branch)
Artifact: openhands-agent-28744305384-1

OpenHands separate-session harness evaluator — summary\n\nRun: harness-seed-run-profile--codify (PR #471, branch harness/seed-run-profile)\nMode: pr-comment, docs-only evaluation\nVerdict: PASS\n\n## Summary\n\nThis was a separate-session, read-only harness evaluator pass on PR #471. I read the workflow law (lane-policy, run-loop, activation, netscript-pr), the run dir (supervisor.md, research.md, plan.md LD-1..LD-8, worklog.md, drift.md, adversarial-findings.md, adversarial-triage.md, adversarial-brief.md, codex-thread-ids.md, context-pack.md), the deliverables (seed-run.md, templates/supervisor.md), and the wiring diff vs origin/main (5 commits: S1..S5). I verified each of the 8 triaged adversarial findings landed in the doc text, checked plan conformance for LD-1..LD-8, ran a fresh-agent executability pass, and audited process integrity (slice trail, drift log honesty, mirror parity, no packages//plugins/ source touched, no deno.lock churn, no board mutation by the run).\n\n## Changes\n\nNo code or doc changes. This run is evaluator-only. The PR comment is staged in the run-scoped reply path; the workflow owns the GitHub post.\n\n## Validation\n\n- git log origin/main..HEAD — 5 commits, matches worklog S1..S5 exactly (ebaaf93 / 23ccc8f / 7c5fd0d / e48fcaf / 604e8ae).\n- git diff --name-only origin/main...HEAD — zero packages/ and plugins/ paths; zero deno.lock changes.\n- diff -q .agents/skills/.../SKILL.md .claude/skills/.../SKILL.md — silent for both netscript-harness and netscript-pr (mirrors byte-identical).\n- Cross-reference check: each of LD-1..LD-8 has a concrete landing site in seed-run.md, templates/supervisor.md, activation.md, README.md, and/or netscript-pr/SKILL.md.\n- Triage cross-check: 8/8 adversarial findings have a corresponding line in the current doc text (F1 board-mutation invariant; F2 supervisor-identity wiring; F3 Tier-C rule; F4 unoriented/distinct-model; F5 plan/ branch type; F6 phase-registry.md conditional; F7 FILING-LOG.md + supersession; F8 drift-log honesty incl. PLAN-EVAL exception).\n- Drift log: drift.md:3 records the PLAN-EVAL exception honestly (drift #3), not laundered.\n- Board non-mutation: PR is draft, all filing deferred to Stage H, no issues.create / labels / milestones were issued by this run.\n\n## Responses to review comments or issue comments\n\nThe PR comment for this evaluator pass is in replies.json (single comment body, pr-comment mode). It carries the PASS verdict, the 4-evaluator structure (E1 plan conformance / E2 internal consistency / E3 fresh-agent executability / E4 process integrity), the 8/8 triage cross-check, the two non-blocking observations, and a Recommend merge line. Per the run contract, the workflow posts it; the evaluator does not post directly.\n\n## Remaining risks\n\n1. seed-run.md:69-70,153 — Stage B's Tier-C rule names the artifact (<run-dir>/workflows/<slice>-workflow.js) and the commit-before-run invariant, but does not point at the generator that emits workflow.js (no .llm/tools/ or tools/ cross-ref). Fresh-agent observation only; executability is not broken.\n2. seed-run.md:104,160FILING-LOG.md is required at H; consider linking the manifest schema (field set) in a future iteration so a fresh agent does not reinvent the column order. Observation only.\n\nNeither of these blocks this PR. Both are appropriate follow-up work for a future iteration, not for a fix-it-now edit to a docs-only PR whose scope is already locked and triaged.\n"}

Run: https://github.com/rickylabs/netscript/actions/runs/28744305384

OpenHands separate-session eval (minimax-m3) on PR #471: PASS,
"Recommend merge". 8/8 triage cross-check, LD-1..LD-8 conformance,
2 non-blocking observations deferred to OD-1. Commit-back step failed
(known mode) — verdict transcribed from the agent summary comment;
branch tip verified churn-free at 604e8ae. Awaiting owner ratification.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
@rickylabs

Copy link
Copy Markdown
Owner Author

S6 — IMPL-EVAL PASS · ready for owner ratification

Verdict: PASS ("Recommend merge") — OpenHands separate session, minimax-m3, run 28744305384. The job's failure status was the commit-back step only (known mode); the verdict is transcribed verbatim into .llm/runs/harness-seed-run-profile--codify/evaluate.md and the branch tip was verified churn-free (no trace, no deno.lock).

Evaluator confirmations: 5-commit slice trail matches worklog exactly · zero packages//plugins//deno.lock touches · skills mirrors byte-identical · LD-1..LD-8 all landed · 8/8 adversarial findings verified fixed in doc text · drift log "honest ... not laundered" · zero board mutation by this run.

Two non-blocking evaluator observations deferred to OD-1 (filing-manifest template promotion): Stage B lacks a cross-ref to the workflow.js generator tooling; Stage H lacks a linked manifest field-set schema.

Owner decision (this run does not self-certify or merge)

  1. Ratify + merge: un-draft, squash-merge harness/seed-run-profilemain. Merging also ratifies drift Migrate shared Zod datetime codecs to Temporal #3: the PLAN-EVAL pass was skipped for this docs-only codification run (owner-directed); the separate-session eval and both hard invariants were retained.
  2. Amend first: request changes here; the run session will fix and re-push.

Slice trail: S1 ebaaf935 · S2 23ccc8f6 · S3 7c5fd0d8 · S4 e48fcafb · S5 604e8ae5 · S6 c73bb0c4.

@rickylabs
rickylabs marked this pull request as ready for review July 5, 2026 14:55
@rickylabs
rickylabs merged commit f964b24 into main Jul 5, 2026
7 of 9 checks passed
@rickylabs
rickylabs deleted the harness/seed-run-profile branch July 5, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant