From c106c8f9563b62fe4dac31b4a68a108120adf493 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Sat, 24 Oct 2026 23:48:33 +0200 Subject: [PATCH 1/2] Close delivered tracker items and release inactive work --- .agents/pm/chores/pm-rl-9uz4.toon | 7 +++--- .agents/pm/chores/pm-rl-be6l.toon | 25 +++++++++++++++++++++ .agents/pm/epics/pm-rl-apvf.toon | 7 +++--- .agents/pm/features/pm-rl-evalplans.toon | 10 +++++++-- .agents/pm/features/pm-rl-policycards.toon | 10 +++++++-- .agents/pm/features/pm-rl-prefix.toon | 10 +++++++-- .agents/pm/features/pm-rl-shadow.toon | 10 +++++++-- .agents/pm/history/pm-rl-8nev.jsonl | 2 ++ .agents/pm/history/pm-rl-9uz4.jsonl | 2 ++ .agents/pm/history/pm-rl-apvf.jsonl | 2 ++ .agents/pm/history/pm-rl-be6l.jsonl | 11 +++++++++ .agents/pm/history/pm-rl-bi4v.jsonl | 1 + .agents/pm/history/pm-rl-evalplans.jsonl | 1 + .agents/pm/history/pm-rl-policycards.jsonl | 1 + .agents/pm/history/pm-rl-prefix.jsonl | 1 + .agents/pm/history/pm-rl-shadow.jsonl | 1 + .agents/pm/history/pm-rl-streamtiming.jsonl | 2 ++ .agents/pm/tasks/pm-rl-8nev.toon | 7 +++--- .agents/pm/tasks/pm-rl-bi4v.toon | 10 +++++++-- .agents/pm/tasks/pm-rl-streamtiming.toon | 7 +++--- CHANGELOG.md | 5 +++++ 21 files changed, 110 insertions(+), 22 deletions(-) create mode 100644 .agents/pm/chores/pm-rl-be6l.toon create mode 100644 .agents/pm/history/pm-rl-be6l.jsonl diff --git a/.agents/pm/chores/pm-rl-9uz4.toon b/.agents/pm/chores/pm-rl-9uz4.toon index ae99952f..8f0809ab 100644 --- a/.agents/pm/chores/pm-rl-9uz4.toon +++ b/.agents/pm/chores/pm-rl-9uz4.toon @@ -2,18 +2,19 @@ id: pm-rl-9uz4 title: Reconcile existing tracker health advisories description: Strict pm health passes but reports an existing stale in-progress item and legacy provenance role values. Review owner activity and provenance normalization separately from PR #62 lease recovery; preserve audit history and avoid blanket status changes. type: Chore -status: in_progress +status: open priority: 3 tags: [] created_at: "2026-10-05T06:41:18.944Z" -updated_at: "2026-10-22T11:19:16.144Z" +updated_at: "2026-10-24T21:47:38.785Z" author: codex-sol parent: pm-rl-hncb -comments[4]{created_at,author,text}: +comments[5]{created_at,author,text}: "2026-10-15T06:44:15.413Z",codex-agent,"Batch 3 supplemental health: isolated HOME with the pinned CLI passes health --check-only --require-merge-drivers --strict-exit. The normal local environment fails only extension_host_pm_cli_version_skew (pinned host 2026.10.13 versus globally installed pm-github host requirement 2026.10.15). Existing stale-work and historical provenance advisories remain. No history repair, extension repin or CLI bump was performed; these remain separate from the rollout gates." "2026-10-21T10:18:57.932Z",codex-agent,"PR #92 review-round optional strict health check reports extension_host_pm_cli_version_skew (pinned host 2026.10.17 versus installed pm-github 2026.10.21), merge_fence_drift:2 after restoring the install-generated unrelated attributes change, stale in-progress items and legacy provenance-role advisories. Retain this existing follow-up; do not rewrite append-only history or bump dependency pins in the review fix. Required release gates are checked separately." "2026-10-22T11:17:54.125Z",codex-agent,"PR #96 review verification: pulled remote aa8e9b2287615724769442bbf1045b4183aff0d6; current main remains ce948522e18a37f92e9d3b345371ac924c5fa305 and is already an ancestor. Complete review-thread pagination yields zero unresolved threads. The completed CodeRabbit review reports no actionable comments and no Outside diff range findings. Rechecked all eight original closure records: pm-rl-1bpz -> merged #77/a8d309b; pm-rl-hncb -> dated certification #59/4936113, explicitly historical; pm-rl-yb4q -> both workflow callers retain 67a5e3e; pm-rl-a2zp -> #92/ce94852; pm-rl-meta -> #84/4c7b027; pm-rl-rsi -> #88/d58b91c; pm-rl-whrd -> #80/b255dfa; pm-rl-mjo5 -> #79/2018b58. Every cited merge commit is an ancestor of main, and each implementation/documentation family exists there. Verified 8/8 closure statuses and all 17/17 original changed paths are tracker or CHANGELOG.md. Source parity outside that scope is exact. No record correction or behavioral revert is warranted; this tracker-only evidence check is the regression proof. Preserve the eight pre-existing closures and leave this review/health item in progress." "2026-10-22T11:19:09.850Z",codex-agent,"Tracker-only review gates: npm ci passes (130 packages added, 171 audited, zero vulnerabilities). Both pinned pm linked checks pass 2/2: git diff --check and git diff --quiet origin/main HEAD -- . with tracker/CHANGELOG exclusions. Isolated HOME, disabled global/system Git configuration, and the pinned pm health --strict-exit --require-merge-drivers return exit 0 and ok=true after installation; three nonblocking advisories remain (pending telemetry queue, two stale in-progress items, and legacy provenance-role values). Do not alter telemetry or historical records. The previously issued CI rerun is complete: run 39665228601 attempt 2 at aa8e9b2287615724769442bbf1045b4183aff0d6 passes all three jobs. Independently downloaded Bun log verifies 676/676, zero fail/skip/cancel/todo, four 100 percent coverage dimensions over 47 sources, and successful bun install --no-save package-graph installation. The conditional repeated-failure case did not occur; no dependency or installer change is needed. This review changes evidence on pm-rl-9uz4 only; the original eight closure records remain untouched. No new pm CLI/SDK defect found." + "2026-10-24T21:47:38.785Z",codex-agent,"Returned to open in the 2026-10-24 sweep: Merged PR 96 verified eight closeouts and clean isolated health, but legacy provenance and environment advisories remain; open PR https://github.com/unbraind/pm-rl/pull/95 still references this health work. No active agent is established." files[8]{path,scope}: .agents/pm/chores/pm-rl-1bpz.toon,project .agents/pm/chores/pm-rl-hncb.toon,project diff --git a/.agents/pm/chores/pm-rl-be6l.toon b/.agents/pm/chores/pm-rl-be6l.toon new file mode 100644 index 00000000..ab6303a2 --- /dev/null +++ b/.agents/pm/chores/pm-rl-be6l.toon @@ -0,0 +1,25 @@ +id: pm-rl-be6l +title: Close delivered pm items and reserve in progress for active work (2026-10-24) +description: "Review every in-progress and open record against merged delivery and current PR evidence. Preserve uncertain work as open, release stale claims, and submit the tracker changes for review." +type: Chore +status: open +priority: 2 +tags[2]: maintenance,tracker-hygiene +created_at: "2026-10-24T21:40:28.877Z" +updated_at: "2026-10-24T21:48:23.132Z" +author: codex-agent +estimated_minutes: 60 +acceptance_criteria: "Every original in-progress and open item is inspected; delivery closures name the implementing merged PR, date and merge SHA and match the recorded acceptance; inactive work is open with claims released; original history records remain append-only; tracker health, changelog and PR CI outcomes are recorded." +risk: low +confidence: high +comments[3]{created_at,author,text}: + "2026-10-24T21:40:29.416Z",codex-agent,"Oriented context, searched existing hygiene work, and read the complete tracker. Checking every original in-progress and open item against PR title/body/commits, delivery links and acceptance. The owner authorizes evidence-backed closure in this sweep. Ambiguous claims remain open; no PR merge or history rewrite." + "2026-10-24T21:47:39.157Z",codex-agent,"Reviewed 22 original active items. 5 verified deliveries closed and 4 inactive items returned to open. Every other original open item remains open because complete delivery or explicit supersession was not established. No cancellation by inference, software change, threshold reduction, or history rewrite. Per-item evidence is recorded in closure reasons and the PR table. Tracker, changelog and CI verification follow." + "2026-10-24T21:48:23.132Z",codex-agent,"Local tracker verification passed: repository changelog generation and consistency check, pinned strict health with required merge drivers under isolated Git identity, changed-item history verification, independent original-history prefix checks and linked git diff --check. All original inactive work and this audit have released claims; no in-progress item remains. No production function changed, so source-function revert proof is inapplicable; per-item merged ancestry and lifecycle/history checks are the evidence. The PR will carry the full before/after/evidence table. Complete npm/Bun release checks and native platform checks run in PR CI; their final outcome is reported separately, without treating queued or skipped checks as approval." +files[1]{path,scope,note}: + .agents/pm,project,Tracker lifecycle and append-only evidence +tests[1]{command,scope,provenance{author,created_at,source_kind,source_ref}}: + git diff --check,project,codex-agent,"2026-10-24T21:47:39.229Z",local_mutation,chore/pm-in-progress-sweep +docs[1]{path,scope,note}: + CHANGELOG.md,project,Regenerated package release notes +body: "" diff --git a/.agents/pm/epics/pm-rl-apvf.toon b/.agents/pm/epics/pm-rl-apvf.toon index cd382bef..a3d9ff2d 100644 --- a/.agents/pm/epics/pm-rl-apvf.toon +++ b/.agents/pm/epics/pm-rl-apvf.toon @@ -2,14 +2,14 @@ id: pm-rl-apvf title: "Execute bounded recursive collection, training, evaluation and promotion" description: "Implement the full execution loop specified in RECURSIVE_TRAINING.md. Existing pm-rl-yi7j supplies lineage and promotion gates; it does not execute training. Add a TypeScript/Rust controller with local Docker Compose trainer adapters, content-addressed checkpoints, atomic budget reservations, idempotent resumption, cancellation and held-out evaluation. Companion pm-cli-website-eag2 and pm-cli-website-hktr." type: Epic -status: in_progress +status: open priority: 1 tags[3]: execution,recursive-training,roadmap created_at: "2026-09-07T21:21:56.236Z" -updated_at: "2026-10-22T10:32:17.819Z" +updated_at: "2026-10-24T21:47:38.159Z" author: codex-pm-ecosystem acceptance_criteria: Two real training generations produce changed checkpoints and collect with the promoted successor; a bounded LLM adapter demonstrates parameter updates; two controllers launch a job once; crash and cancellation drills preserve artifacts and budget integrity; contamination and invalid checkpoints stop promotion; every authored source passes exact four-metric coverage and documented-surface gates -comments[39]{created_at,author,text}: +comments[40]{created_at,author,text}: "2026-09-07T23:06:06.595Z",codex-pm-native,"Execution foundation is implemented under child pm-rl-s44k: a real bounded TypeScript contextual-bandit policy-gradient adapter supplies promoted checkpoints to successor collection. RECURSIVE_TRAINING.md distinguishes this numerical adapter from the remaining SDK-persisted job controller, atomic approved-budget reservations, owner leases, crash/cancellation recovery, Compose isolation and LLM parameter-update acceptance. The epic remains open. Repeated evaluation is adaptive validation, so a separate final benchmark is still required." "2026-09-10T22:02:44.990Z",pi-agent,"Promotion gate design (closing the recursive self-improvement loop):\n\nPROPERTY: A candidate policy is promoted ONLY when its held-out expected reward exceeds the incumbent's by at least the effect threshold, with confidence >= 1-alpha, using at least minSamples evaluation episodes, AND the held-out evaluation set is not reachable from the candidate's training data. The default answer is NO: absent, unreadable, self-referential, incomparable, or statistically insufficient evidence promotes NOTHING.\n\nDOMAIN: Pairs of bounded-reward evaluation evidence records (candidate + incumbent) carrying a finite empirical mean, a finite sample count, and declared reward bounds [lo, hi]; a confidence level in (0,1), a minimum sample count >= 1, an effect threshold >= 0; and a contamination verdict (null = isolated).\n\nSTATISTICAL CRITERION: Hoeffding inequality for bounded random variables. Distribution-free, valid for any bounded objective a caller pins a range to, conservative for small samples (the property a fail-closed gate wants). epsilon = (hi - lo) * sqrt(ln(2/alpha)/(2n)). Promote iff candidate lower confidence bound exceeds incumbent upper confidence bound by the effect threshold (maximize; inverted for minimize). Chosen over a distribution-assuming bound because RL reward distributions are unknown and a single lucky sample must not promote; Hoeffding needs no distribution assumption and is loosest exactly when samples are few.\n\nWHAT IT BUYS: with probability >= 1-alpha, a promoted candidate's TRUE expected reward exceeds the incumbent's by at least the effect threshold. A single lucky sample, a regression, a contaminated held-out set, and a sub-threshold improvement are all refused.\n\nWHAT IT DOES NOT BUY: protection against a held-out set semantically duplicated under a different name (the contamination gate's job, consumed not rebuilt); non-stationary environments; unbiased estimates after repeated selection (adaptive validation, not a final benchmark); reward hacking on the held-out set itself.\n\nHELD-OUT ISOLATION IS STRUCTURAL: the bandit adapter validates training and evaluation example identities disjoint before any gradient, so the held-out set is unreachable from the training loop by construction; the gate's contamination verdict is null. The persisted promoteGeneration flow already enforces the same via findContaminationPath over provenance edges.\n\nLINEAGE: every promotion and every refusal is recorded. In the recursive loop (bandit adapter) each generation receipt carries promoted + refusalReason + the sampled held-out means; the generations array is the auditable chain from generation 0 to N. Transitive invalidation uses the existing buildLineageAncestry forward propagation and invalidate.ts (not rebuilt).\n\nREMAINING ON THIS EPIC: the durable execution controller (Docker Compose trainer, atomic budget reservations, owner leases, crash/cancellation recovery, LLM parameter-update acceptance) and wiring the statistical gate into the persisted rl generation promote command's scores contract remain separate slices. This delivery closes the recursive self-improvement loop's promotion decision; it does not deliver the full durable controller." "2026-09-12T23:19:05.412Z",pi-agent,"Audit 2026-09-13: EXISTS — the bounded TypeScript contextual-bandit adapter is implemented and merged (bandit.ts, PR #33, pm-rl-s44k now closed); the fail-closed statistically bounded promotion gate is implemented and merged (promotion.ts, PR #35, pm-rl-gr7j closed); contamination and invalid checkpoints stop promotion (promotion.test.ts); 323 tests pass with 100/100/100/100 coverage across 20 source files. REMAINS — the durable execution controller is not implemented: no Docker Compose trainer adapter, no atomic budget reservations, no owner leases, no crash/cancellation recovery drills; a bounded LLM adapter demonstrating parameter updates is not implemented (the bandit is a numerical adapter, not an LLM trainer); two controllers launching a job once is not demonstrated. These are the remaining slices named in the item description and the 2026-09-10 pi-agent comment." @@ -49,6 +49,7 @@ comments[39]{created_at,author,text}: "2026-10-22T10:12:52.525Z",codex-agent,"Local clean-checkout release runs passed typecheck, build, unscoped lint, zero duplication, 340 documented declarations across 48 sources, attestation, and the completed test cases (npm 143 and Bun 137 at last inspection). Both passed large learner training, checkpoint benchmark and concurrent promotion. The complete runs were intentionally interrupted under shared host load; these partial counts are not release-gate success. Full npm and Bun results will be verified in CI on the pushed head before the next PR starts. Focused linked regression passes 1/1; full corpus suite 14/14. No threshold or gate-script changes." "2026-10-22T10:31:49.788Z",codex-agent,"Complete CI verified at 31b9f7b996c9192c9230: https://github.com/unbraind/pm-rl/actions/runs/39761523871 . Independently downloaded all three completed job logs: npm on Node 22, npm on Node 26, and Bun on Node 26 each pass 690/690, zero fail/skip/cancel/todo, 100/100/100/100 coverage over 48 sources. Strict tracker health, unscoped lint, zero duplication, 340 documented declarations, attestation, production audit, packing, changelog, and Bun graph installation pass; CodeQL passes. The local duplicate full gates were interrupted under host load, not counted as passes. This receipt update changes tracker evidence only; executable source and tests remain identical. Claim is released; leave the epic in progress. No new pm CLI/SDK defect found." "2026-10-22T10:32:17.818Z",codex-agent,"Receipt correction: the complete verified CI head is 31b9f7b5520eef7b1a55cb7f1863d9692ad81b38. The extra characters after the valid 31b9f7b prefix in the preceding comment were a transcription error. CI run 39761523871 and all recorded counts are verified against this exact head." + "2026-10-24T21:47:38.159Z",codex-agent,"Returned to open in the 2026-10-24 sweep: Open PR https://github.com/unbraind/pm-rl/pull/95 carries remaining recursive-promotion work; multiple narrower merged implementations do not establish all execution, contamination, crash and resource criteria in one verified delivery. No active agent is established." files[16]: - path: bandit.ts scope: project diff --git a/.agents/pm/features/pm-rl-evalplans.toon b/.agents/pm/features/pm-rl-evalplans.toon index ad157466..c15e9ff3 100644 --- a/.agents/pm/features/pm-rl-evalplans.toon +++ b/.agents/pm/features/pm-rl-evalplans.toon @@ -2,15 +2,20 @@ id: pm-rl-evalplans title: Enforce predeclared causal evaluation plans at promotion description: "Declare target populations, correlation units, sample sizes and fixed stopping rules before experiments. Bind plan identity and clustered observations to comparison and generation promotion." type: Feature -status: in_progress +status: closed priority: 2 tags: [] created_at: "2026-10-21T21:36:09.182Z" -updated_at: "2026-10-22T22:08:53.025Z" +updated_at: "2026-10-24T21:47:38.384Z" +closed_at: "2026-10-24T21:47:38.368Z" +completed_at: "2026-10-24T21:47:38.368Z" author: codex-agent estimated_minutes: 180 acceptance_criteria: Synthetic correlated cohorts cannot masquerade as independent samples; changed plans invalidate comparison identity. Typed SDK and CLI; compact TOON/JSON; typed refusals with remedies; README and example; non-git real public-tracker validation; npm and Bun CI release gates. parent: pm-rl-apvf +resolution: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts. +expected_result: Synthetic correlated cohorts cannot masquerade as independent samples; changed plans invalidate comparison identity. Typed SDK and CLI; compact TOON/JSON; typed refusals with remedies; README and example; non-git real public-tracker validation; npm and Bun CI release gates. +actual_result: "https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts." comments[35]{created_at,author,text}: "2026-10-21T21:36:11.512Z",codex-agent,"Overlap rechecked against the pinned CLI SDK declarations and sibling package sources/docs: core Plan/Decision stores decisions but has no causal experiment-plan enforcement; pm-jev owns model calibration/evaluation; pm-context supplies context. Existing pm-rl-rsipower supplies one powered dataset and is retained separately. This item adds reusable immutable plan/comparison enforcement and cluster-aware promotion, stacked on PR #94; must merge after #94. Dependency pins remain unchanged. Local verification will be targeted tests, typecheck and lint; full npm/Bun release gates run in CI due shared CPU load." "2026-10-21T21:49:50.172Z",codex-agent,"Implemented fixed paired plans in core Plan records, immutable result Decisions, provenance-pinned comparison identities, and authoritative promotion enforcement. Plans pin incumbent provenance, populations, member-to-unit assignments, sample sizes, fixed stopping, objective and criterion. Equal-unit aggregation counts correlated cohorts once; one sealed result per plan. Existing unplanned controllers retain legacy semantics without causal-plan claims. Non-git public validation measured 95 observations as one repository unit: candidate 0.7684210526 vs incumbent 0.2315789474; naive episode-count gate would promote, clustered gate refuses. Read-only public source digest is unchanged; evidence is descriptive replay, not deployed causal benefit." @@ -135,4 +140,5 @@ docs[4]{path,scope}: docs/evaluation-plan-evidence.json,project examples/evaluation-plan.json,project README.md,project +close_reason: "https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts." body: "" diff --git a/.agents/pm/features/pm-rl-policycards.toon b/.agents/pm/features/pm-rl-policycards.toon index 55785148..8879be8c 100644 --- a/.agents/pm/features/pm-rl-policycards.toon +++ b/.agents/pm/features/pm-rl-policycards.toon @@ -2,14 +2,19 @@ id: pm-rl-policycards title: Explain learned policy suitability with portable replayable cards description: "Export minimized policy suitability, scope, action limits, regressions and evidence digests across agent backends; automatically retain explanations throughout recursive candidate and promotion paths." type: Feature -status: in_progress +status: closed priority: 2 tags[1]: "gh:unbraind/pm-rl#100" created_at: "2026-10-23T14:29:56.651Z" -updated_at: "2026-10-24T15:17:48.800Z" +updated_at: "2026-10-24T21:47:38.271Z" +closed_at: "2026-10-24T21:47:38.243Z" +completed_at: "2026-10-24T21:47:38.243Z" author: codex-agent acceptance_criteria: Missing provenance blocks adoption; replay identifies every cited result; export contains no training examples or credentials; typed SDK and compact TOON/JSON CLI; every recursive candidate and promotion has a card; read-only public tracker validation demonstrates at least two generations; npm and Bun CI release gates pass at unchanged thresholds. parent: pm-rl-apvf +resolution: "Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI." +expected_result: Missing provenance blocks adoption; replay identifies every cited result; export contains no training examples or credentials; typed SDK and compact TOON/JSON CLI; every recursive candidate and promotion has a card; read-only public tracker validation demonstrates at least two generations; npm and Bun CI release gates pass at unchanged thresholds. +actual_result: "https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI." comments[103]{created_at,author,text}: "2026-10-23T14:31:01.471Z",codex-agent,"Overlap check: current host CLI is 2026.10.23; package SDK remains pinned at 2026.10.20. Inspected CLI command ownership and pm-context context-pack explanations: neither exports learned-policy suitability. Existing pm-rl checkpoint artifacts retain executable state; generation provenance, causal plans, shadow comparisons and recursive improver receipts own the evidence. Cards will reuse SDK complete inventory, certified history reads and content-addressed package hashes. No dependency bump, trainer replacement or context assembler. Plan: minimized digest-only cards, replay/adoption refusals, automatic recursive candidate/outcome publication, non-Git public-copy validation for two generations, targeted local checks and full npm/Bun CI gates." "2026-10-23T14:43:18.298Z",codex-agent,"Implemented typed export/replay/adoption-check SDK and CLI, bounded digest-only projection, exact timestamped history citations and retained candidate/promotion cards. Recursive durable phases now retain outcome cards plus one card per proposed configuration/recipe. Local typecheck, lint, duplication and docstring checks passed before the last small additions; targeted regression work is ongoing. Verified the selected pm-ops commit is publicly accessible and MIT licensed; prepared a read-only non-Git copy for two-generation numerical-policy acceptance. Full release gates will run in CI because the shared host is saturated." @@ -458,4 +463,5 @@ docs[5]{path,scope}: docs/policy-cards.md,project examples/policy-card.json,project README.md,project +close_reason: "https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI." body: "" diff --git a/.agents/pm/features/pm-rl-prefix.toon b/.agents/pm/features/pm-rl-prefix.toon index 00f48ca7..a30af430 100644 --- a/.agents/pm/features/pm-rl-prefix.toon +++ b/.agents/pm/features/pm-rl-prefix.toon @@ -2,14 +2,19 @@ id: pm-rl-prefix title: Train a history-prefix learner on the public tracker environment description: "PR 84 acceptance scored 107/214 on meta-validation versus the completed-majority baseline 211/214, and 198/385 on final-test versus 384/385. All candidates retained the zero-weight seed checkpoint because inner fits were refused. Add a bounded learner that actually reads the normalized history prefix, such as the existing LM adapter, on the sealed repository-split tracker environment." type: Feature -status: in_progress +status: closed priority: 2 tags: [] created_at: "2026-10-18T07:43:41.188Z" -updated_at: "2026-10-20T07:54:22.789Z" +updated_at: "2026-10-24T21:47:38.467Z" +closed_at: "2026-10-24T21:47:38.459Z" +completed_at: "2026-10-24T21:47:38.459Z" author: codex-agent acceptance_criteria: "Train only on training repositories; preserve inner-held-out, meta-validation and final-test boundaries, fixed pre-approved budgets and unchanged promotion gate; report majority baselines, prediction diversity and final-test scores; demonstrate statistically supported improvement or explicitly report a null result without weakening the gate." parent: pm-rl-apvf +resolution: "Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion." +expected_result: "Train only on training repositories; preserve inner-held-out, meta-validation and final-test boundaries, fixed pre-approved budgets and unchanged promotion gate; report majority baselines, prediction diversity and final-test scores; demonstrate statistically supported improvement or explicitly report a null result without weakening the gate." +actual_result: "https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion." comments[22]{created_at,author,text}: "2026-10-18T18:18:15.113Z",codex-agent,"Plan: measure four candidate targets on training repositories only, freeze the selected task and split rules, then fit a bounded hashed prefix learner through the existing reserved process contract. Keep the 0.95 confidence, ten-sample, 0.01 effect gate and release disabled. Retain explicit fit, rejection, diversity, baseline and final-test evidence; verify behavioural reverts and both isolated release gates before opening the PR." "2026-10-18T18:19:57.854Z",codex-agent,"Training-repository-only screening on the original sealed commits (1168 eligible items): next lifecycle {closed:959,in_progress:195,canceled:10,open:3,blocked:1}, majority 82.106%; reopened {false:1144,true:24}, 97.945%; item type {Issue:447,Task:295,Chore:270,Feature:142,Decision:9,Epic:5}, 38.271%; median time-to-close {fast:585,slow:583}, 50.086%. Select time-to-close for a bounded binary learner: elapsed time and lifecycle activity plausibly predict remaining duration. Freeze this selection before either outer holdout is scored. Final calibration and all four distributions will use fit items only, excluding inner-held-out items, with a fixed seeded event cut and original source pins." @@ -69,4 +74,5 @@ docs[9]{path,scope}: docs/recursive-improver.md,project README.md,project RECURSIVE_TRAINING.md,project +close_reason: "https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion." body: "" diff --git a/.agents/pm/features/pm-rl-shadow.toon b/.agents/pm/features/pm-rl-shadow.toon index fd1971dd..e206a0bc 100644 --- a/.agents/pm/features/pm-rl-shadow.toon +++ b/.agents/pm/features/pm-rl-shadow.toon @@ -2,14 +2,19 @@ id: pm-rl-shadow title: Observe candidate policies safely before deployment description: "Controlled online shadow observation on explicitly consented inputs, with paired resource accounting and validated outcome receipts required by the existing promotion boundary." type: Feature -status: in_progress +status: closed priority: 1 tags: [] created_at: "2026-10-23T06:41:11.687Z" -updated_at: "2026-10-23T08:22:07.469Z" +updated_at: "2026-10-24T21:47:37.864Z" +closed_at: "2026-10-24T21:47:37.800Z" +completed_at: "2026-10-24T21:47:37.800Z" author: codex-agent acceptance_criteria: Candidate failures never affect active actions; Budgets include both arms; Switching requires a validated outcome comparison through existing promotion and RSI code parent: pm-rl-apvf +resolution: "Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls." +expected_result: Candidate failures never affect active actions; Budgets include both arms; Switching requires a validated outcome comparison through existing promotion and RSI code +actual_result: "https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls." comments[9]{created_at,author,text}: "2026-10-23T06:41:26.255Z",codex-agent,"Overlap checked against the pinned pm SDK and current CLI 2026.10.23, pm-context, pm-jev, and existing pm-rl evaluation, loop, meta proposer and promotion modules. Core owns tracker/history/transactions; pm-context supplies bounded context; pm-jev replays typed decisions. Existing RL loops evaluate/train/promote offline. This feature adds explicitly consented online observation with no candidate mutation authority and reuses predeclared evaluation plans plus the authoritative promotion transaction. Draft PRs 95 and 98 are context only. No dependency bump is needed unless SDK capability inspection proves otherwise." "2026-10-23T06:56:27.540Z",codex-agent,"Implemented a bounded declarative shadow interpreter with no executable candidate tools or tracker authority. Consent pins both generation identities, both policy digests, exact minimized input hashes and separate active/candidate allowances; every frozen member reserves two calls including candidate failures. Immutable per-member SDK receipts make retries free and outcome replacement a refusal. Existing evaluation plans and the authoritative promotion transaction require the comparison receipt for online candidates; standalone offline evaluation cannot bypass it. Local linked parser test passes 1/1. Source and packed acceptance use non-git trackers; full release gates will run in CI." @@ -33,4 +38,5 @@ docs[4]{path,scope}: docs/shadow-policy.md,project examples/shadow-policy.json,project README.md,project +close_reason: "https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls." body: "" diff --git a/.agents/pm/history/pm-rl-8nev.jsonl b/.agents/pm/history/pm-rl-8nev.jsonl index 245771e4..7d018b1f 100644 --- a/.agents/pm/history/pm-rl-8nev.jsonl +++ b/.agents/pm/history/pm-rl-8nev.jsonl @@ -7,3 +7,5 @@ {"hash_algorithm":"sha256","ts":"2026-10-15T23:26:52.822Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"0b7326fe7529e37d974d8e2f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-15T23:26:52.822Z","author":"codex-agent","text":"The lifecycle-barrier drill passed under coverage directly (1/1) and through pm test pm-rl-8nev --run --progress (1/1, case 46658.868 ms, zero skips). An isolated check restoring the old broad fixture-ID predicate also passed (1/1, 51304.099 ms), so the extra predicate change was dropped; it is not claimed as a behavioural revert proof. The final test waits on the existing running-job barrier before the unchanged 15-second trainer-startup interval, reads the reservation once, and always cleans its owned controller/container. The observed failure was the startup-artifact assertion; no production recovery defect was demonstrated. Test image builds now use unique worker names/labels so cleanup cannot remove a peer validation image."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-15T23:26:52.822Z"}],"before_hash":"4d6880c230915d9357e3ce65d5237c7bcd8e85b2c72d606f464f92a3b95d1ee6","after_hash":"e78da8c88ff723b7f0819976d285f7bced4dcb6ddfaa42439f86740cb0a1e656","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"e3bcb76e4f235d9f7ad89b56a98452219b411710c3282b633698045c3ec30522"} {"hash_algorithm":"sha256","ts":"2026-10-16T03:47:17.620Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"0b7326fe7529e37d974d8e2f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-16T03:47:17.620Z","author":"codex-agent","text":"Final verification: both complete npm and Bun release gates pass 590/590, zero skips, 100% across all four coverage dimensions. The real orphan drill passes in both. The fixture observes the persisted running state before the unchanged partial-artifact interval and preserves all SIGKILL, no-relaunch, retained-evidence and settlement assertions. Owned cleanup is verified; leave open for orchestrator verification."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-16T03:47:17.620Z"}],"before_hash":"e78da8c88ff723b7f0819976d285f7bced4dcb6ddfaa42439f86740cb0a1e656","after_hash":"c41f55fde8b50efe4bc3f461dc61b4cb942270d40c2be3d397496589c44bec08","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"a079bc35c7500702bf1e2638da29047f07e97180918e7448e779920e9d2d99eb"} {"hash_algorithm":"sha256","ts":"2026-10-16T03:47:22.975Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"0b7326fe7529e37d974d8e2f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-16T03:47:22.975Z"}],"before_hash":"c41f55fde8b50efe4bc3f461dc61b4cb942270d40c2be3d397496589c44bec08","after_hash":"d39b1186d2bc41d26d1bbcd4e9faaeb3f423f458dfbdf09065bbb2cdf23048b2","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"40f41917a55366be7beeefcdd059f77b39ce9db670f1462fa78388d9283a4854"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:39.019Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:39.019Z"},{"op":"replace","path":"/metadata/status","value":"open"}],"before_hash":"d39b1186d2bc41d26d1bbcd4e9faaeb3f423f458dfbdf09065bbb2cdf23048b2","after_hash":"43fabc596f28f390dcd111e9abaf01a53b5ed1f350258d5c85a0a880edf79198","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"a8bd280994265f7f5ea038bf7378d1a2dc99084c036eafbc5d785358ae029a82"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:39.081Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/3","value":{"created_at":"2026-10-24T21:47:39.081Z","author":"codex-agent","text":"Returned to open in the 2026-10-24 sweep: Recorded receipts show an improved running-state barrier, but no merged PR claim or item-comment delivery link establishes attribution for this record. Retain the real-container acceptance for review; no active work."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:39.081Z"}],"before_hash":"43fabc596f28f390dcd111e9abaf01a53b5ed1f350258d5c85a0a880edf79198","after_hash":"851eb5d056f5526d6dd31dc477e99f9679b4e032a667c33ebade1a429e4a6268","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"56812996bb568cff8b815f89064a9ac4d0d0395f1aefc92f6ce6cb95275cf93e"} diff --git a/.agents/pm/history/pm-rl-9uz4.jsonl b/.agents/pm/history/pm-rl-9uz4.jsonl index 5d9cd3cb..a4789784 100644 --- a/.agents/pm/history/pm-rl-9uz4.jsonl +++ b/.agents/pm/history/pm-rl-9uz4.jsonl @@ -9,3 +9,5 @@ {"hash_algorithm":"sha256","ts":"2026-10-22T11:18:11.218Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T11:18:11.218Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"git diff --check","scope":"project","provenance":{"author":"codex-agent","created_at":"2026-10-22T11:18:10.956Z","source_kind":"local_mutation","source_ref":"chore/reconcile-tracker-1021"}},{"command":"git diff --quiet origin/main HEAD -- . ':(exclude).agents/pm/**' ':(exclude)CHANGELOG.md'","scope":"project","provenance":{"author":"codex-agent","created_at":"2026-10-22T11:18:10.956Z","source_kind":"local_mutation","source_ref":"chore/reconcile-tracker-1021"}}]}],"before_hash":"47ed602a1a2c802db308b9851f39de3394d17ae0a81fee7fff8e9d276d8b4d52","after_hash":"c069357c5c5f6ce62db9d29d1a9ddb0f2a956e53e6667a741b4b8ac61d1135f5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"068ef23b016879e1ea1265bfae02e00a6da96d57cff577529e76463945b6893f"} {"hash_algorithm":"sha256","ts":"2026-10-22T11:19:09.856Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/3","value":{"created_at":"2026-10-22T11:19:09.850Z","author":"codex-agent","text":"Tracker-only review gates: npm ci passes (130 packages added, 171 audited, zero vulnerabilities). Both pinned pm linked checks pass 2/2: git diff --check and git diff --quiet origin/main HEAD -- . with tracker/CHANGELOG exclusions. Isolated HOME, disabled global/system Git configuration, and the pinned pm health --strict-exit --require-merge-drivers return exit 0 and ok=true after installation; three nonblocking advisories remain (pending telemetry queue, two stale in-progress items, and legacy provenance-role values). Do not alter telemetry or historical records. The previously issued CI rerun is complete: run 39665228601 attempt 2 at aa8e9b2287615724769442bbf1045b4183aff0d6 passes all three jobs. Independently downloaded Bun log verifies 676/676, zero fail/skip/cancel/todo, four 100 percent coverage dimensions over 47 sources, and successful bun install --no-save package-graph installation. The conditional repeated-failure case did not occur; no dependency or installer change is needed. This review changes evidence on pm-rl-9uz4 only; the original eight closure records remain untouched. No new pm CLI/SDK defect found."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T11:19:09.856Z"}],"before_hash":"c069357c5c5f6ce62db9d29d1a9ddb0f2a956e53e6667a741b4b8ac61d1135f5","after_hash":"561c2b6a8c850b52fdd9ba9b4d6d8cd25973566a2b6e01e2ea2260b14c40b111","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"87253d7ceadafaf48febea9bb56f9922e681c2c6d97ec61867902427b4c52824"} {"hash_algorithm":"sha256","ts":"2026-10-22T11:19:16.144Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T11:19:16.144Z"}],"before_hash":"561c2b6a8c850b52fdd9ba9b4d6d8cd25973566a2b6e01e2ea2260b14c40b111","after_hash":"53b1759f5f6871ade780fcaa5bd165f86b7eddb007232bcca656a968112c0c31","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"bfd2f5f49a85eaa94fba3951e7dd6eb554bdcbd2d0cea59e1f2d9e3af6642356"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.678Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.678Z"},{"op":"replace","path":"/metadata/status","value":"open"}],"before_hash":"53b1759f5f6871ade780fcaa5bd165f86b7eddb007232bcca656a968112c0c31","after_hash":"644b46489af45781e8d28731e176de51c8c43fe47511603a02861d5913535c54","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"e1a7b9153e14798a3e2fc9dacf6d2b52416485e24865904b4de65b35e7265474"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.785Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/4","value":{"created_at":"2026-10-24T21:47:38.785Z","author":"codex-agent","text":"Returned to open in the 2026-10-24 sweep: Merged PR 96 verified eight closeouts and clean isolated health, but legacy provenance and environment advisories remain; open PR https://github.com/unbraind/pm-rl/pull/95 still references this health work. No active agent is established."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.785Z"}],"before_hash":"644b46489af45781e8d28731e176de51c8c43fe47511603a02861d5913535c54","after_hash":"0d2dd9ee6468daabbab71d8d8f776e4ece52f20d5144dd38bddad5a026857554","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"70d959275d709629e1dd4c04e8113e548787dd336183efd112ad55aa1ce9bfbe"} diff --git a/.agents/pm/history/pm-rl-apvf.jsonl b/.agents/pm/history/pm-rl-apvf.jsonl index b41bef38..eb9f4d81 100644 --- a/.agents/pm/history/pm-rl-apvf.jsonl +++ b/.agents/pm/history/pm-rl-apvf.jsonl @@ -73,3 +73,5 @@ {"hash_algorithm":"sha256","ts":"2026-10-22T10:13:02.215Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T10:13:02.215Z"}],"before_hash":"9f6233a9bbbf0b15174efb7fae020d0d233cf0cd718fcacfcb0bd9ff8380be2f","after_hash":"f88c9d86c57d936e275b4c8f9ee9c7a3d3c5c3482b141f614fb39413dd4dbce4","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"dd0c36519b1db7c1235321583febee1b3120651eb54372d7ae1383cb6918c387"} {"hash_algorithm":"sha256","ts":"2026-10-22T10:31:49.790Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/37","value":{"created_at":"2026-10-22T10:31:49.788Z","author":"codex-agent","text":"Complete CI verified at 31b9f7b996c9192c9230: https://github.com/unbraind/pm-rl/actions/runs/39761523871 . Independently downloaded all three completed job logs: npm on Node 22, npm on Node 26, and Bun on Node 26 each pass 690/690, zero fail/skip/cancel/todo, 100/100/100/100 coverage over 48 sources. Strict tracker health, unscoped lint, zero duplication, 340 documented declarations, attestation, production audit, packing, changelog, and Bun graph installation pass; CodeQL passes. The local duplicate full gates were interrupted under host load, not counted as passes. This receipt update changes tracker evidence only; executable source and tests remain identical. Claim is released; leave the epic in progress. No new pm CLI/SDK defect found."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T10:31:49.790Z"}],"before_hash":"f88c9d86c57d936e275b4c8f9ee9c7a3d3c5c3482b141f614fb39413dd4dbce4","after_hash":"8b101b37852a02a07a163d3890ad52509a7cf961be4b16abba3c992e8aff8bad","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"e5ea0d5e9e5ddcd73845908eb47eb8be30a1b0acc2f1f568892f8b81480985e3"} {"hash_algorithm":"sha256","ts":"2026-10-22T10:32:17.819Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/38","value":{"created_at":"2026-10-22T10:32:17.818Z","author":"codex-agent","text":"Receipt correction: the complete verified CI head is 31b9f7b5520eef7b1a55cb7f1863d9692ad81b38. The extra characters after the valid 31b9f7b prefix in the preceding comment were a transcription error. CI run 39761523871 and all recorded counts are verified against this exact head."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T10:32:17.819Z"}],"before_hash":"8b101b37852a02a07a163d3890ad52509a7cf961be4b16abba3c992e8aff8bad","after_hash":"126ca54102bb2fcc32dd8a3364907d87160e47a636e1103efc55d2849ab715cb","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"015c2193f1df8b4283590ace753821a6ad7f7fe0b5a39e371fdd42a390109e92"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.017Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.017Z"},{"op":"replace","path":"/metadata/status","value":"open"}],"before_hash":"126ca54102bb2fcc32dd8a3364907d87160e47a636e1103efc55d2849ab715cb","after_hash":"4f5941bf66286fa2e3ce75afafa221dbcc75d0bedfd0cfdd4718a9386035b2fb","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"ca210b43216211b8e7e2ab0e6b2a09563f97e9d1edd3bc4be2274da8a011215e"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.159Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/39","value":{"created_at":"2026-10-24T21:47:38.159Z","author":"codex-agent","text":"Returned to open in the 2026-10-24 sweep: Open PR https://github.com/unbraind/pm-rl/pull/95 carries remaining recursive-promotion work; multiple narrower merged implementations do not establish all execution, contamination, crash and resource criteria in one verified delivery. No active agent is established."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.159Z"}],"before_hash":"4f5941bf66286fa2e3ce75afafa221dbcc75d0bedfd0cfdd4718a9386035b2fb","after_hash":"f529b41e0fb9a6ebb396d83422df1c40154309c8feb04fe646304d55572dbd34","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"5b1ccd8a78fb9170d701572ea0d2e0e140c3341e681deb9811a55d4f5163f0e6"} diff --git a/.agents/pm/history/pm-rl-be6l.jsonl b/.agents/pm/history/pm-rl-be6l.jsonl new file mode 100644 index 00000000..b8290491 --- /dev/null +++ b/.agents/pm/history/pm-rl-be6l.jsonl @@ -0,0 +1,11 @@ +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:28.877Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-rl-be6l"},{"op":"add","path":"/metadata/title","value":"Close delivered pm items and reserve in progress for active work (2026-10-24)"},{"op":"add","path":"/metadata/description","value":"Review every in-progress and open record against merged delivery and current PR evidence. Preserve uncertain work as open, release stale claims, and submit the tracker changes for review."},{"op":"add","path":"/metadata/type","value":"Chore"},{"op":"add","path":"/metadata/status","value":"open"},{"op":"add","path":"/metadata/priority","value":2},{"op":"add","path":"/metadata/tags","value":["maintenance","tracker-hygiene"]},{"op":"add","path":"/metadata/created_at","value":"2026-10-24T21:40:28.877Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-10-24T21:40:28.877Z"},{"op":"add","path":"/metadata/author","value":"codex-agent"},{"op":"add","path":"/metadata/estimated_minutes","value":60},{"op":"add","path":"/metadata/acceptance_criteria","value":"Every original in-progress and open item is inspected; delivery closures name the implementing merged PR, date and merge SHA and match the recorded acceptance; inactive work is open with claims released; original history records remain append-only; tracker health, changelog and PR CI outcomes are recorded."},{"op":"add","path":"/metadata/risk","value":"low"},{"op":"add","path":"/metadata/confidence","value":"high"}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"316b9bd99e28889f743c41caf4780759652d929a63b2d9bf7b3b76bcc3b1985f","item_hash_version":3,"message":"","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"4b913d6ddc9ab9e3265ce9d56d1769df91277059a74615c909996937633857b3"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:29.155Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"claim","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:40:29.155Z"},{"op":"add","path":"/metadata/assignee","value":"codex-agent"},{"op":"add","path":"/metadata/claim_principal","value":"codex-agent"}],"before_hash":"316b9bd99e28889f743c41caf4780759652d929a63b2d9bf7b3b76bcc3b1985f","after_hash":"01dfa78159a28853a99cd3a6b46804e8487e67945de83e1c69805f97eaeccf73","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"847e2be4887df746244bd1376095f55f19bae146ead83d73fd3dc0a6cd1ab5e8"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:29.296Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:40:29.296Z"},{"op":"replace","path":"/metadata/status","value":"in_progress"}],"before_hash":"01dfa78159a28853a99cd3a6b46804e8487e67945de83e1c69805f97eaeccf73","after_hash":"10750b660256fc7113fb6e75841440b3ee13ea23efab02e6b68892a25aabedfb","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"816ab12fc92293eaa1f5d404fcc326a96167da38634a0dddab7397a1cae9a32f"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:29.416Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:40:29.416Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-10-24T21:40:29.416Z","author":"codex-agent","text":"Oriented context, searched existing hygiene work, and read the complete tracker. Checking every original in-progress and open item against PR title/body/commits, delivery links and acceptance. The owner authorizes evidence-backed closure in this sweep. Ambiguous claims remain open; no PR merge or history rewrite."}]}],"before_hash":"10750b660256fc7113fb6e75841440b3ee13ea23efab02e6b68892a25aabedfb","after_hash":"2af082c72a5fce869ff91aabaa70c814ac2926c0bcf670bef94cb04fa395fe19","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"4aeb5c85deb9f30889bb80762c74be488dedbc3abf8e85271eb520c87e357aec"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:29.549Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:40:29.549Z"},{"op":"add","path":"/metadata/files","value":[{"path":".agents/pm","scope":"project","note":"Tracker lifecycle and append-only evidence"}]}],"before_hash":"2af082c72a5fce869ff91aabaa70c814ac2926c0bcf670bef94cb04fa395fe19","after_hash":"e7a7f0a0ba6320b3e176a99773f5627fb34f9447bcbd9535009056b8c5c16b74","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"39ef9e264ce40621a4740be5c284bb3138deaf0e53b145fa4f43fb226e668cba"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:40:29.678Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:40:29.678Z"},{"op":"add","path":"/metadata/docs","value":[{"path":"CHANGELOG.md","scope":"project","note":"Regenerated package release notes"}]}],"before_hash":"e7a7f0a0ba6320b3e176a99773f5627fb34f9447bcbd9535009056b8c5c16b74","after_hash":"f51cb8fdf37e1c0ddff8982f752909a643f489cf2219ef5a16240ab79ea9cfee","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"fe906bf39c66f883d291fbb29e5fea88622627b27d52d43205f53b4f2841111a"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:39.157Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-24T21:47:39.157Z","author":"codex-agent","text":"Reviewed 22 original active items. 5 verified deliveries closed and 4 inactive items returned to open. Every other original open item remains open because complete delivery or explicit supersession was not established. No cancellation by inference, software change, threshold reduction, or history rewrite. Per-item evidence is recorded in closure reasons and the PR table. Tracker, changelog and CI verification follow."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:39.157Z"}],"before_hash":"f51cb8fdf37e1c0ddff8982f752909a643f489cf2219ef5a16240ab79ea9cfee","after_hash":"8738446bb006de994ac2b91f5b1a2ccc2b44302e3fa25d9ad8b92a9dfcd774f6","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"51dcfc0084047a587b26fae17783961eaf5837775565ad5dc90b2ae828bd52a2"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:39.268Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:39.268Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"git diff --check","scope":"project","provenance":{"author":"codex-agent","created_at":"2026-10-24T21:47:39.229Z","source_kind":"local_mutation","source_ref":"chore/pm-in-progress-sweep"}}]}],"before_hash":"8738446bb006de994ac2b91f5b1a2ccc2b44302e3fa25d9ad8b92a9dfcd774f6","after_hash":"2b3471e5df37cb0e29faa5973be620b22f8f939563651dbef879c61656fa7214","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"046b30e71b964adf2221e4b522678ddd3db99f30d7cbeb428993f152bac8c4aa"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:39.930Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:39.930Z"},{"op":"replace","path":"/metadata/status","value":"open"}],"before_hash":"2b3471e5df37cb0e29faa5973be620b22f8f939563651dbef879c61656fa7214","after_hash":"32f605168b246ffc780f95dadc090faee1270a6a7dc59b077dbc494b1964fad6","item_hash_version":3,"message":"Sweep decisions recorded; release claim and return audit to open pending PR CI and orchestrator review.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"41c8bd7c147a8f8b6210ba0fd88ad2e15f8d9e19e0e4e1900ecdbb6449675af3"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:40.008Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:40.008Z"}],"before_hash":"32f605168b246ffc780f95dadc090faee1270a6a7dc59b077dbc494b1964fad6","after_hash":"2d02d6b13fad1abd64793e8e1585034e9943fbe1a4824ba7447d5c0b2797c3c3","item_hash_version":3,"message":"Sweep decisions recorded; release claim and return audit to open pending PR CI and orchestrator review.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"b9b1f090610e9f25cd2b991e49bdef08ec2af106e162a63aba66847633746f61"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:48:23.132Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-24T21:48:23.132Z","author":"codex-agent","text":"Local tracker verification passed: repository changelog generation and consistency check, pinned strict health with required merge drivers under isolated Git identity, changed-item history verification, independent original-history prefix checks and linked git diff --check. All original inactive work and this audit have released claims; no in-progress item remains. No production function changed, so source-function revert proof is inapplicable; per-item merged ancestry and lifecycle/history checks are the evidence. The PR will carry the full before/after/evidence table. Complete npm/Bun release checks and native platform checks run in PR CI; their final outcome is reported separately, without treating queued or skipped checks as approval."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:48:23.132Z"}],"before_hash":"2d02d6b13fad1abd64793e8e1585034e9943fbe1a4824ba7447d5c0b2797c3c3","after_hash":"3e13b7189c12869b4f417d9d0c4b63a24d4b9e7d0dc230a5afaad8c4e2013433","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"d4203d2583079288d33300d557e655718818e38f967ac849753db22a38c1b705"} diff --git a/.agents/pm/history/pm-rl-bi4v.jsonl b/.agents/pm/history/pm-rl-bi4v.jsonl index 83b5ead2..6800bcb4 100644 --- a/.agents/pm/history/pm-rl-bi4v.jsonl +++ b/.agents/pm/history/pm-rl-bi4v.jsonl @@ -16,3 +16,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-18T03:01:10.952Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"7037d132570a6285e78b5af5","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"claim","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-18T03:01:10.952Z"},{"op":"add","path":"/metadata/assignee","value":"codex-agent"},{"op":"add","path":"/metadata/claim_principal","value":"codex-agent"}],"before_hash":"53e880efbdb7414937f3b8e90ea3ef86463ae65f5db3cf7614b59e97abfd85c8","after_hash":"ed49125d86beafda1de9d7e9708676e510e38f80cd2b9c7420bebe94bde32984","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"7b4972407f388c12b81017a0c56144998460256c926aeeb15bcad37174e353a6"} {"hash_algorithm":"sha256","ts":"2026-10-18T03:01:13.159Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"7037d132570a6285e78b5af5","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/8","value":{"created_at":"2026-10-18T03:01:13.159Z","author":"codex-agent","text":"Audit: MET against recorded acceptance in merged PR #80. The serial baseline measured 276105.853 ms; concurrent full runs hit the unchanged 300000 ms limit. Forked crash children inherited V8 coverage; isolated child execArgv and raw coverage output plus bounded independent pairs retain all eight real HTTP-to-PM crash boundaries. Guard-only revert fails with inherited-coverage evidence; restored focused and linked runs pass. Both full release gates passed 590/590 with all eight boundaries within 300000 ms and unchanged four-metric thresholds. No remaining acceptance gap in that evidence; leave open for orchestrator verification."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-18T03:01:13.159Z"}],"before_hash":"ed49125d86beafda1de9d7e9708676e510e38f80cd2b9c7420bebe94bde32984","after_hash":"1ed034779069d09b69d118e6c055fb241d3fe7a6513fa95e3f3ab14005a4ae8a","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"dda92b7d900ec21fc3739286a5d26f1b73852237d839a3a7404f6416f23fe42e"} {"hash_algorithm":"sha256","ts":"2026-10-18T03:01:14.190Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"7037d132570a6285e78b5af5","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-18T03:01:14.190Z"}],"before_hash":"1ed034779069d09b69d118e6c055fb241d3fe7a6513fa95e3f3ab14005a4ae8a","after_hash":"4b4c2649ed7fa28ad7e2f4ec20755e45669187cf2ca81215cc956de7fc0d7c4b","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"ee845440b1866e229db080ccc94bdb28d241ce19dfeb0d6cd83ebc888d90ae7d"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.567Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.567Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.556Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.556Z"},{"op":"add","path":"/metadata/resolution","value":"Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."},{"op":"add","path":"/metadata/expected_result","value":"A baseline/candidate timing reproduction identifies the cause; the real eight-boundary drill and complete release gates pass with the existing 300-second timeout and unchanged coverage thresholds."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."}],"before_hash":"4b4c2649ed7fa28ad7e2f4ec20755e45669187cf2ca81215cc956de7fc0d7c4b","after_hash":"4dfc2b4b9c4b7c46fbfb0be529bdbb6f7a369235f7c9c8a986dc335d1af9bea3","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"fbbbcc56a939ded23b401fff8aa085676e06d6be79b2583ad7def91c6e10df0c"} diff --git a/.agents/pm/history/pm-rl-evalplans.jsonl b/.agents/pm/history/pm-rl-evalplans.jsonl index 275a7d35..fc4485ed 100644 --- a/.agents/pm/history/pm-rl-evalplans.jsonl +++ b/.agents/pm/history/pm-rl-evalplans.jsonl @@ -64,3 +64,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-22T21:46:44.330Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/33","value":{"created_at":"2026-10-22T21:46:44.330Z","author":"codex-agent","text":"Thread PRRT_kwDOTqJmqs6vYux4 fixed: rl eval plan show now normalizes the input with the tracker configured id_prefix before reading the strict reservation. The real host-command regression covers both rl- and study- projects, identical short/canonical output, and absence of the candidate Generation. It failed 0/1 before the fix with eval_plan_drift, passed 1/1 after the fix, and a show-handler-only revert fails 0/1 with that same drift code while all numerical changes remain present. The handler is restored; the focused pinned-PM snapshot test is linked and running. Self-review confirms evaluate already obtains the canonical Generation id, generation registration normalizes before reservation lookup, and plan-file registration intentionally requires canonical identities. Numerical source remains byte-identical to 925743d. Its completed Bun release gate passed 718/718, zero failures/skips/cancellations/todos, with all four coverage dimensions at 100% over 49 sources; this is supplemental evidence, and the final combined source will receive a new complete npm/Bun matrix."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T21:46:44.330Z"}],"before_hash":"8ac640c6d0870f66d36cd7681b5143946fd214605409b66da802d3928d2b746f","after_hash":"f6255dbf75a5a38b8a1e4ceeae42a232a69d4b25abed97c92b741e5db785fe3d","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"d84218944b75bd49719538a5ecc90f61aeb86b1eaeca22c33e8be65a79ec1306"} {"hash_algorithm":"sha256","ts":"2026-10-22T22:08:49.701Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/34","value":{"created_at":"2026-10-22T22:08:49.700Z","author":"codex-agent","text":"Final combined review candidate cbba6fe592203291a44ce59eb67f99221f8457a5 is verified: complete npm run release:check on Node 22 and Node 26 and bun run release:check with Bun 1.3.14 on Node 26 all pass in https://github.com/unbraind/pm-rl/actions/runs/39860078247. Jobs 120108200209, 120108199767 and 120108200266 each report 719/719 tests, zero failures/skips/cancellations/todos, 49 sources at 100% statements/lines/branches/functions, 343 documented declarations and zero production audit vulnerabilities. Strict fresh tracker health, package/changelog checks and Bun package-graph installation pass in all jobs. CodeQL run 39860078292 passes at this same head. The earlier numerical-only candidate 925743d also passed all three complete release gates 718/718 at unchanged four 100% thresholds. Restored local evidence: four numerical tests pass 4/4 over 52 magnitude/direction/grouping configurations; the broader pinned-PM snapshot suite passes 47/47; the new default/custom-prefix CLI regression passes 1/1 both directly and through pinned PM. Five function-only revert proofs fail 0/1 each: node --test --test-name-pattern=\"large-offset tied\" test/evaluation-plan.test.ts with both numerical functions restored from b4ea1fa; node --test --test-name-pattern=\"balanced large-offset\" test/evaluation-plan.test.ts with evaluatePlan alone reverted; node --test --test-name-pattern=\"centered promotion margins\" test/promotion.test.ts with decidePromotion alone reverted; node --test --test-name-pattern=\"reward magnitude and offset\" test/evaluation-plan.test.ts with the intermediate naive inverse evaluator restored; and node --test --test-name-pattern=\"CLI evaluation plan show normalizes\" test/evaluation-plan.test.ts with only the show handler reverted. All fixes restored afterward. Latest complete GraphQL refresh has only fixed thread PRRT_kwDOTqJmqs6vYux4, all its comments read, and no outside-diff findings. No thread reply/resolution action, merge, package release, timeout waiver, dependency bump or gate relaxation was performed. Native means retain reward units; statistical verdict fields use documented normalized units. Original-history trust limits and existing tracker/lint advisories remain unchanged. Releasing the claim for orchestrator verification; the item remains in progress. The final receipt changes append-only PM evidence only, with source and tests byte-identical to this verified head."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T22:08:49.701Z"}],"before_hash":"f6255dbf75a5a38b8a1e4ceeae42a232a69d4b25abed97c92b741e5db785fe3d","after_hash":"d50e85aa6d4b38526bc35e45d3255010d2dd61e13730ecffc3aa075337bf6c76","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"d2a651b283f3c80061e5d593643ece4a590a51557a479d03d15a47b1a9c7e97f"} {"hash_algorithm":"sha256","ts":"2026-10-22T22:08:53.025Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T22:08:53.025Z"}],"before_hash":"d50e85aa6d4b38526bc35e45d3255010d2dd61e13730ecffc3aa075337bf6c76","after_hash":"87ead52c9413d4f5ead945e258cd1a9d37c79243bf29049cda66a0a44d2c1858","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"2841ae7596ec35484e9d49f7f111a67bf7db741ea9ee467d4d437b76a083dc3e"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.384Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.384Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.368Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.368Z"},{"op":"add","path":"/metadata/resolution","value":"Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."},{"op":"add","path":"/metadata/expected_result","value":"Synthetic correlated cohorts cannot masquerade as independent samples; changed plans invalidate comparison identity. Typed SDK and CLI; compact TOON/JSON; typed refusals with remedies; README and example; non-git real public-tracker validation; npm and Bun CI release gates."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."}],"before_hash":"87ead52c9413d4f5ead945e258cd1a9d37c79243bf29049cda66a0a44d2c1858","after_hash":"ab44b64b56d0a7279260c51147425a2def344e3fd96ce8a4cc74904387d42be5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"c09ca3d328730d67bbf8c30bcbbe515bbb0f2c7591b851e26e9e646812c218bf"} diff --git a/.agents/pm/history/pm-rl-policycards.jsonl b/.agents/pm/history/pm-rl-policycards.jsonl index 2bf38346..7564f8a8 100644 --- a/.agents/pm/history/pm-rl-policycards.jsonl +++ b/.agents/pm/history/pm-rl-policycards.jsonl @@ -213,3 +213,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-24T15:12:32.389Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"6f6c90c6512403514c9c5684","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/31","value":{"command":"node --test --test-name-pattern=\"manual promotion retries|manual promotion post-commit retry|concurrent promotions of the SAME|in-lock already-promoted|peer contaminating an ANCESTOR|clean candidate promotes\" test/policy-card.test.ts test/lineage.test.ts","scope":"project","timeout_seconds":60,"pm_context_mode":"none","workspace_context_mode":"snapshot","provenance":{"author":"codex-agent","created_at":"2026-10-24T15:12:32.294Z","source_kind":"local_mutation","source_ref":"feat/policy-cards"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T15:12:32.389Z"}],"before_hash":"be67c10f03242d06c738a529241d1bc112ad18962ac30a1c13bf787f0e02b231","after_hash":"3a83d7ce4b21725b154c204e05aecd11909add1c10d55550ee82df90fa711ac8","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"a194c9345caa961517c6849b5b430b68f35e67d2036a6fb4e581568b1f146201"} {"hash_algorithm":"sha256","ts":"2026-10-24T15:17:47.009Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"6f6c90c6512403514c9c5684","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/102","value":{"created_at":"2026-10-24T15:17:47.009Z","author":"codex-agent","text":"The overlapping-writer manual retry correction passes the combined 7/7 suite directly and through PM, including matching publication recovery, different sealed requests, one concurrent winner and in-lock ancestor contamination. Existing in-lock refusal input now explicitly uses different local evidence, preserving its original already-promoted refusal assertion; matching requests are tested with the real SDK peer. Final regression SHA-256 is 32b95056522ba5cc10f2979e670ea5126d1cdfed9f849d41c3a129214f100874. Three independent production-only reverts each fail 1/1: canonical projection, initial committed-state recovery, and only the stale-read already-promoted reconciliation. All production edits were restored; tests unchanged within each proof. The last revert specifically fails the real peer regression with already_promoted while retaining ordinary post-commit retry recovery. Typecheck, source/test compilation, lint and duplication pass; source and thresholds are frozen for a fresh exact-head npm/Bun CI run."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T15:17:47.009Z"}],"before_hash":"3a83d7ce4b21725b154c204e05aecd11909add1c10d55550ee82df90fa711ac8","after_hash":"e527a5eb6932e955a7a5907e5ae5df306fc0d6e1deb77b0fcec0ddbdc5a2edb7","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"17bd5395c2f77624e174d25059d53661891d7ab441f67632525a2a3e1b050a5c"} {"hash_algorithm":"sha256","ts":"2026-10-24T15:17:48.800Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"6f6c90c6512403514c9c5684","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T15:17:48.800Z"}],"before_hash":"e527a5eb6932e955a7a5907e5ae5df306fc0d6e1deb77b0fcec0ddbdc5a2edb7","after_hash":"bc379effbcd6f861c1ae6ca334a3d4ce2eeeacd1d3159c8e7c4cc819bd9e5267","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"58a2ec7ade915e1dc8c36cb093229855bdb74de921c96e20c1360ab822f348e9"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.271Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.271Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.243Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.243Z"},{"op":"add","path":"/metadata/resolution","value":"Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."},{"op":"add","path":"/metadata/expected_result","value":"Missing provenance blocks adoption; replay identifies every cited result; export contains no training examples or credentials; typed SDK and compact TOON/JSON CLI; every recursive candidate and promotion has a card; read-only public tracker validation demonstrates at least two generations; npm and Bun CI release gates pass at unchanged thresholds."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."}],"before_hash":"bc379effbcd6f861c1ae6ca334a3d4ce2eeeacd1d3159c8e7c4cc819bd9e5267","after_hash":"b90510f3bdf7c486be0f7b739de9fbc0afd219ce96639ff8178113a01019053d","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"1cd9a15f5a010c8bd26f037a2f1344db04260e5c7deb29702277077a202a61a4"} diff --git a/.agents/pm/history/pm-rl-prefix.jsonl b/.agents/pm/history/pm-rl-prefix.jsonl index 1df08f31..6b499971 100644 --- a/.agents/pm/history/pm-rl-prefix.jsonl +++ b/.agents/pm/history/pm-rl-prefix.jsonl @@ -44,3 +44,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-20T07:42:31.325Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"ce8971f7f1efa611b2d5bd5d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/20","value":{"created_at":"2026-10-20T07:42:31.322Z","author":"codex-agent","text":"PR89 is open at source c639adb7ed5d330e948eba5ddc6c7e148ec15db6: https://github.com/unbraind/pm-rl/pull/89 . The PR merge checkout has an identical tree. Published diagnosis/results/revert-proof text is verified and contains no local paths; auto-merge is disabled. Fresh no-local clone strict health passes with merge drivers and isolated identity; root lint and changelog check pass. The unchanged npm/Bun full CI matrix is running. Historical terminal-disposition accuracy intervals are now also recorded descriptively, separate from the original sampled hard predictions. Completed live artifacts are archived outside authored source scope with raw receipts retained. No merge, release, threshold or dependency-pin change."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-20T07:42:31.325Z"}],"before_hash":"9c4b74d7d1f2d221381191add5f2dad5e64108d7dcbc830f16b93d5760d1df6a","after_hash":"13955e1755c8c155f1dce14cc178e67ad1e8c1810a5eb1b0b875faf5863ce357","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"93ddbb7763e6e714063e2ad2ad02f35b0da8ac4c99acc5d59025b1de32434195"} {"hash_algorithm":"sha256","ts":"2026-10-20T07:54:20.194Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"ce8971f7f1efa611b2d5bd5d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/21","value":{"created_at":"2026-10-20T07:54:20.192Z","author":"codex-agent","text":"Full source acceptance on c639adb7ed5d330e948eba5ddc6c7e148ec15db6: CI run39387106691 passes unchanged npm run release:check on Node22 and26 and bun run release:check on Node26. Downloaded and independently checked all three complete logs: each655/655, zero fail/skip/cancel/todo; all44 authored sources at100% statements/lines/branches/functions;321 documented declarations. Lint, duplication, attestation, production audit, pack, changelog, strict tracked health and CodeQL pass. Fresh no-local clone strict health also passes with isolated identity and merge drivers. The redundant local suite was deliberately stopped after complete required CI receipts; no local full-gate pass is claimed. PR89 remains open with auto-merge disabled. Final handoff adds only historical accuracy intervals, documentation and append-only PM evidence; TypeScript, tests, budgets, source pins and thresholds match the tested source. Releasing for orchestrator review, keeping the item in_progress and not closed. Known pm-rl-stdin remains separate; no new upstream issue was filed. Capacity and independent-tracker power remain open limitations."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-20T07:54:20.194Z"}],"before_hash":"13955e1755c8c155f1dce14cc178e67ad1e8c1810a5eb1b0b875faf5863ce357","after_hash":"595a3219cb708c7d25fe84ad9a5f6267bc049fa95377a603073b0b54d197dc49","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"2340d6d1c5380665f20c61c5bd53def5e3ac953103505a117eb84abb5f6434d8"} {"hash_algorithm":"sha256","ts":"2026-10-20T07:54:22.789Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"ce8971f7f1efa611b2d5bd5d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-20T07:54:22.789Z"}],"before_hash":"595a3219cb708c7d25fe84ad9a5f6267bc049fa95377a603073b0b54d197dc49","after_hash":"1f96f1059f5d69a7ef95dd8cb760ab61aedaec2572869f7dae3d049358251387","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"43990a12835d708349c9ce515dff938ae36bc36129345137fd530d081e69c5b0"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.467Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.467Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.459Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.459Z"},{"op":"add","path":"/metadata/resolution","value":"Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."},{"op":"add","path":"/metadata/expected_result","value":"Train only on training repositories; preserve inner-held-out, meta-validation and final-test boundaries, fixed pre-approved budgets and unchanged promotion gate; report majority baselines, prediction diversity and final-test scores; demonstrate statistically supported improvement or explicitly report a null result without weakening the gate."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."}],"before_hash":"1f96f1059f5d69a7ef95dd8cb760ab61aedaec2572869f7dae3d049358251387","after_hash":"080daf969dd62fafba711aa5ebc9ce0613b9494d499531609093ef2e49d05af5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"04c756d027aaaeefba00055b0a4f088a86130dcdf96f909ab1292a352b7b4c64"} diff --git a/.agents/pm/history/pm-rl-shadow.jsonl b/.agents/pm/history/pm-rl-shadow.jsonl index ddb275c9..ccebd22d 100644 --- a/.agents/pm/history/pm-rl-shadow.jsonl +++ b/.agents/pm/history/pm-rl-shadow.jsonl @@ -17,3 +17,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-23T08:16:19.060Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf73d9707128820a198a2441","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/7","value":{"created_at":"2026-10-23T08:16:19.060Z","author":"codex-agent","text":"Both blocking review findings are fixed through shared validators. validateDeployment now governs registration and every manifest reload: generation pair, exact plan cohort, consent, both reserved allowances and actual receipt inventory charges; extra slots cannot hide outside report counts. validateObservation now governs live observation, retry/resume, comparison and promotion reads: policy-produced actions for the consented input, bounded rewards, same-action reward equality, disagreement/failure flags and selected-outcome digest. Refusals use pinned SDK context.item_id and context.field and include both in the message. Focused suite passes 25/25 with 100% shadow lines/branches/functions. Four independent behavioral reverts each fail 1/1 with Missing expected rejection: identical-action rewards, zero-budget original manifest, tampered disagreement, and cohort expansion after plan registration; validators restored. Broader original-record tests also cover wrong actions, bounds, digests, slot IDs, unexpected charged receipts, both aggregate charges, edited manifests and native SDK workflow-policy refusal. No SDK mocks, history rewriting, dependency bumps, review-thread replies or mentions."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-23T08:16:19.060Z"}],"before_hash":"2b7469ba2b5142af1ce801655013e7dfdb491f9e44a9b10f3b29820f700bcaf2","after_hash":"8b64a4088224bf77f48234005cd043f5299746539ece25d729f187d479e600d7","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"12b72c2e53ec364db88dd023757f71c58f177c648daf53dfaf19dd9ce9d969ae"} {"hash_algorithm":"sha256","ts":"2026-10-23T08:22:04.807Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf73d9707128820a198a2441","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/8","value":{"created_at":"2026-10-23T08:22:04.807Z","author":"codex-agent","text":"Final follow-up verification: node --test --experimental-test-coverage --test-coverage-include=shadow.ts test/shadow.test.ts passes 25/25 with 100% lines/branches/functions for shadow.ts. Restored four requested regressions pass 4/4 with Git absent from PATH and an explicit discovery ceiling. Independent revert commands use node --test --test-name-pattern with the exact prefixes review regression: identical actions; review regression: a consented original zero-budget; review regression: an original tampered disagreement; review regression: a manifest cohort grown. Reverting only validateObservation to accept stored rows fails the reward and disagreement cases 1/1 each; reverting only validateDeployment to retain consent without cohort/budget checks fails the budget and expanded-cohort cases 1/1 each, all with Missing expected rejection. Source restored. Pinned linked-test execution passes 1/1; typecheck, test typecheck, lint, zero duplication and docstrings pass. Repacked public acceptance on the existing read-only source copy reproduces docs/shadow-evidence.json byte-for-byte. PR https://github.com/unbraind/pm-rl/pull/99 will carry the exact pushed-head npm/Bun CI run and counts; previous-head gates are historical only. Claim released for orchestrator verification; item remains in progress."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-23T08:22:04.807Z"}],"before_hash":"8b64a4088224bf77f48234005cd043f5299746539ece25d729f187d479e600d7","after_hash":"56ab5c2cf4cf84696f8d0ee227a94d75bcc8952989ec7b29c53a6030be75974c","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"2b01b84103ce0905fb4e28fc92f8e963a6653da94ae98f54b9e4243c20333e1b"} {"hash_algorithm":"sha256","ts":"2026-10-23T08:22:07.469Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf73d9707128820a198a2441","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-23T08:22:07.469Z"}],"before_hash":"56ab5c2cf4cf84696f8d0ee227a94d75bcc8952989ec7b29c53a6030be75974c","after_hash":"29bfd0ac60335f4d9223f2d1aaa023d86949df208ecd1cb3a3f6c6866a912e87","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"2e98b942a28f79d6a912d588c1bc337d91afed451fd2b8df69fdf4aefe0b3b36"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:37.864Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:37.864Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:37.800Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:37.800Z"},{"op":"add","path":"/metadata/resolution","value":"Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."},{"op":"add","path":"/metadata/expected_result","value":"Candidate failures never affect active actions; Budgets include both arms; Switching requires a validated outcome comparison through existing promotion and RSI code"},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."}],"before_hash":"29bfd0ac60335f4d9223f2d1aaa023d86949df208ecd1cb3a3f6c6866a912e87","after_hash":"68a84716f8527c32c3fb0a5c91709df69f5b54a9e249159c3f5b871610d98e15","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"5bb1b070a5fb4d30369479253287aef41f2a6e20e7362fdb84e2a1d61632f9c1"} diff --git a/.agents/pm/history/pm-rl-streamtiming.jsonl b/.agents/pm/history/pm-rl-streamtiming.jsonl index 7bc9168b..ac6ff441 100644 --- a/.agents/pm/history/pm-rl-streamtiming.jsonl +++ b/.agents/pm/history/pm-rl-streamtiming.jsonl @@ -7,3 +7,5 @@ {"hash_algorithm":"sha256","ts":"2026-10-21T16:04:12.611Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"57f79cb9228a78c0cbaf7a13","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-21T16:04:12.611Z","author":"codex-agent","text":"The explicit-descriptor fixture passes focused coverage verification 2/2 and tracker-linked snapshot verification 2/2 (2.112 seconds), with zero failures/skips. The original one-second deadline, 16 MiB input and stdin-failure assertion remain intact. The unrelated checkpoint benchmark passes isolated verification 1/1 (100.904 seconds) after failing during the loaded whole-suite attempt; its failure is retained for classification when that attempt finishes. No benchmark or production resource ceiling is changed."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-21T16:04:12.611Z"}],"before_hash":"8702d536879bc5f7eab10cda388f10684cb4af24de323478e2e552dc1ef73a2b","after_hash":"8ceeb784e344ef6db372c3af219614fdcd09ceeb4c3916faca0fea35a794792c","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"43e6eda8aeb1059df8f29be32bbaf2c8b67fb0af5595fe71df2776fb40c9f30c"} {"hash_algorithm":"sha256","ts":"2026-10-21T16:38:23.131Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"57f79cb9228a78c0cbaf7a13","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-21T16:38:23.131Z","author":"codex-agent","text":"The deterministic descriptor-close fixture is included in validated source a36191a. Complete CI npm Node 22/26 and Bun Node 26 each pass 682/682 with zero test skips and all four coverage dimensions at 100 percent. Focused tracker-linked stream verification passes 2/2; the original one-second deadline, input size and stdin-failure assertion remain intact. The item remains in progress for orchestrator verification; releasing the claim without closure."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-21T16:38:23.131Z"}],"before_hash":"8ceeb784e344ef6db372c3af219614fdcd09ceeb4c3916faca0fea35a794792c","after_hash":"199bb70abdec40203bbb3577dfd7450d48af2e1798727f5920804035b6cd7be4","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"710c3d572ca0d08fa5fb08d94799853756ca9a7a1ad6de2aca822a40380385a9"} {"hash_algorithm":"sha256","ts":"2026-10-21T16:38:28.557Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"57f79cb9228a78c0cbaf7a13","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-21T16:38:28.557Z"}],"before_hash":"199bb70abdec40203bbb3577dfd7450d48af2e1798727f5920804035b6cd7be4","after_hash":"feabe7645481a063faddbef6811dba5b8650c710649f578e17bd7b8f3e158af5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"e0b247b72ad54aa3f9e2909616675563ce39100e2e04e2c59da34b67e5b679c4"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.862Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.862Z"},{"op":"replace","path":"/metadata/status","value":"open"}],"before_hash":"feabe7645481a063faddbef6811dba5b8650c710649f578e17bd7b8f3e158af5","after_hash":"cefed6a3d02e8df7aa30ff48c6ee0966120240fce030e54c4515a907a2657afc","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"582566329d4aee272d6077d3ba2da154a9420d6b0e54d7428fba860f784448c2"} +{"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.929Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/3","value":{"created_at":"2026-10-24T21:47:38.929Z","author":"codex-agent","text":"Returned to open in the 2026-10-24 sweep: Recorded receipts show a deterministic descriptor-close fixture, but no merged PR title/body/commit names this item and its comments do not identify the delivering PR. Attribution remains unverified; no active work."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.929Z"}],"before_hash":"cefed6a3d02e8df7aa30ff48c6ee0966120240fce030e54c4515a907a2657afc","after_hash":"ab7e8da87be65bdc5623febf5a72e17138a66575c90971de8aa9d4436cda272a","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"c9e93e46841b3e737f4c89e4510c615de7d63fbd3364d6ab83a7f683d763a77d"} diff --git a/.agents/pm/tasks/pm-rl-8nev.toon b/.agents/pm/tasks/pm-rl-8nev.toon index f3a8d3b6..e8a4bb53 100644 --- a/.agents/pm/tasks/pm-rl-8nev.toon +++ b/.agents/pm/tasks/pm-rl-8nev.toon @@ -2,18 +2,19 @@ id: pm-rl-8nev title: Stabilize Compose cancellation barrier diagnostics under shared host load description: "The existing cancellation-plus-cleanup-failure drill missed its partial-artifact barrier during concurrent package validation, then reported the wall watchdog refusal. Preserve current bounds while making trainer startup, timeout attribution and cleanup deterministic under shared host load. This predates the LM integration; its full release gate will independently verify the unchanged case." type: Task -status: in_progress +status: open priority: 3 tags: [] created_at: "2026-10-15T22:23:36.056Z" -updated_at: "2026-10-16T03:47:22.975Z" +updated_at: "2026-10-24T21:47:39.081Z" author: codex-agent acceptance_criteria: "Reproduce the startup/barrier timing condition with real containers, retain cleanup evidence and distinguish startup delay from a trainer cancellation failure without weakening resource or coverage limits." parent: pm-rl-mjo5 -comments[3]{created_at,author,text}: +comments[4]{created_at,author,text}: "2026-10-15T23:18:24.790Z",codex-agent,"The failed full Bun attempt reported Container did not publish its partial artifact in the existing orphan-recovery drill. It began the 15-second partial-artifact polling interval after first seeing a planned reservation, while the controller still committed its running transition. The revised drill waits on the existing real running-write IPC barrier, reads the job once, then starts the unchanged trainer startup barrier. Tighten fixture matching to a full process job ID so the loop collection step cannot satisfy the running barrier. Keep the 15-second barrier, 30-second trainer allowance and every orphan/recovery/accounting assertion; always kill the owned controller and clean its job container on assertion failure." "2026-10-15T23:26:52.822Z",codex-agent,"The lifecycle-barrier drill passed under coverage directly (1/1) and through pm test pm-rl-8nev --run --progress (1/1, case 46658.868 ms, zero skips). An isolated check restoring the old broad fixture-ID predicate also passed (1/1, 51304.099 ms), so the extra predicate change was dropped; it is not claimed as a behavioural revert proof. The final test waits on the existing running-job barrier before the unchanged 15-second trainer-startup interval, reads the reservation once, and always cleans its owned controller/container. The observed failure was the startup-artifact assertion; no production recovery defect was demonstrated. Test image builds now use unique worker names/labels so cleanup cannot remove a peer validation image." "2026-10-16T03:47:17.620Z",codex-agent,"Final verification: both complete npm and Bun release gates pass 590/590, zero skips, 100% across all four coverage dimensions. The real orphan drill passes in both. The fixture observes the persisted running state before the unchanged partial-artifact interval and preserves all SIGKILL, no-relaunch, retained-evidence and settlement assertions. Owned cleanup is verified; leave open for orchestrator verification." + "2026-10-24T21:47:39.081Z",codex-agent,"Returned to open in the 2026-10-24 sweep: Recorded receipts show an improved running-state barrier, but no merged PR claim or item-comment delivery link establishes attribution for this record. Retain the real-container acceptance for review; no active work." files[2]{path,scope}: test/compose.test.ts,project test/fixtures/process-controller.ts,project diff --git a/.agents/pm/tasks/pm-rl-bi4v.toon b/.agents/pm/tasks/pm-rl-bi4v.toon index d6e7a9e8..b9ff5d42 100644 --- a/.agents/pm/tasks/pm-rl-bi4v.toon +++ b/.agents/pm/tasks/pm-rl-bi4v.toon @@ -2,14 +2,19 @@ id: pm-rl-bi4v title: Keep the HTTP receipt crash drill within its unchanged timeout description: "The existing SIGKILL-at-every-HTTP-to-PM-boundary integration case exceeded its unchanged 300-second timeout during full instrumented release validation. Compare the same case against the main baseline, identify startup, I/O or ownership waits, and preserve every crash boundary and assertion while bringing execution inside the bound." type: Task -status: in_progress +status: closed priority: 2 tags: [] created_at: "2026-10-15T22:41:40.256Z" -updated_at: "2026-10-18T03:01:14.190Z" +updated_at: "2026-10-24T21:47:38.567Z" +closed_at: "2026-10-24T21:47:38.556Z" +completed_at: "2026-10-24T21:47:38.556Z" author: codex-agent acceptance_criteria: A baseline/candidate timing reproduction identifies the cause; the real eight-boundary drill and complete release gates pass with the existing 300-second timeout and unchanged coverage thresholds. parent: pm-rl-apvf +resolution: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit. +expected_result: A baseline/candidate timing reproduction identifies the cause; the real eight-boundary drill and complete release gates pass with the existing 300-second timeout and unchanged coverage thresholds. +actual_result: "https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit." comments[9]{created_at,author,text}: "2026-10-15T22:50:30.933Z",codex-agent,"Diagnostic baseline: an isolated origin/main source archive, using the same pinned dependencies, passed node --test --test-concurrency=1 --experimental-test-coverage --test-coverage-include=*.ts --test-coverage-include=scripts/*.ts --test-name-pattern=\"SIGKILL at every HTTP-to-PM\" test/decision-recovery.test.ts in 276105.853 ms (1/1). The candidate full release run reached the unchanged 300000 ms timeout. This establishes a narrow baseline timing margin; it does not by itself attribute the full-run failure. Keep all eight boundaries and the original timeout. A complete passing candidate gate is still required." "2026-10-15T22:55:58.563Z",codex-agent,"The eight crash scenarios use independent trackers and synthetic servers. Run the training/held-out pair concurrently for each of the four boundaries, with at most two scenarios active. Keep every real SIGKILL, replay, physical-request, token, identity and idempotency assertion and the original 300000 ms timeout. This changes scheduling only and avoids eight serial setup/replay intervals consuming the whole wall allowance. Verify the focused case under coverage, then require complete npm and Bun release gates." @@ -25,4 +30,5 @@ files[2]{path,scope}: test/fixtures/decision-controller.ts,project tests[1]{command,scope,timeout_seconds,provenance{author,created_at,source_kind,source_ref}}: "node --test --test-concurrency=1 --experimental-test-coverage --test-name-pattern=\"SIGKILL at every HTTP-to-PM\" test/decision-recovery.test.ts",project,360,codex-agent,"2026-10-15T22:56:05.659Z",local_mutation,feat/lm-compose-trainer +close_reason: "https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit." body: "" diff --git a/.agents/pm/tasks/pm-rl-streamtiming.toon b/.agents/pm/tasks/pm-rl-streamtiming.toon index dde813b5..8248f8f7 100644 --- a/.agents/pm/tasks/pm-rl-streamtiming.toon +++ b/.agents/pm/tasks/pm-rl-streamtiming.toon @@ -2,17 +2,18 @@ id: pm-rl-streamtiming title: Stabilize process-stream fixture readiness under shared host load description: "The initial recursive-corpus release gate observed two unchanged audit-git-identities stream transport fixtures hitting their one-second process deadlines during concurrent shared-host work. Both pass unchanged in focused isolated-identity verification (2/2). Investigate deterministic readiness and diagnostics while retaining real spawn, broken-pipe, exit, signal and timeout behavior; do not lower coverage or hide failures. Separate from the packed LM 20-second acceptance item and SDK stdin import issue." type: Task -status: in_progress +status: open priority: 3 tags: [] created_at: "2026-10-21T15:19:43.600Z" -updated_at: "2026-10-21T16:38:28.557Z" +updated_at: "2026-10-24T21:47:38.929Z" author: codex-agent parent: pm-rl-apvf -comments[3]{created_at,author,text}: +comments[4]{created_at,author,text}: "2026-10-21T15:33:21.292Z",codex-agent,"Confirmed with a real Node process that process.stdin.destroy() leaves file descriptor 0 open. The broken-pipe fixture therefore relied on its 100 ms timed process exit. Replace that fixture action with an explicit closeSync(0) and keep the child alive until the transport kills it after the actual stdin error. The existing one-second timeout, 16 MiB input, real subprocess, and stdin-failure assertion remain unchanged. No transport implementation or quality threshold changes." "2026-10-21T16:04:12.611Z",codex-agent,"The explicit-descriptor fixture passes focused coverage verification 2/2 and tracker-linked snapshot verification 2/2 (2.112 seconds), with zero failures/skips. The original one-second deadline, 16 MiB input and stdin-failure assertion remain intact. The unrelated checkpoint benchmark passes isolated verification 1/1 (100.904 seconds) after failing during the loaded whole-suite attempt; its failure is retained for classification when that attempt finishes. No benchmark or production resource ceiling is changed." "2026-10-21T16:38:23.131Z",codex-agent,"The deterministic descriptor-close fixture is included in validated source a36191a. Complete CI npm Node 22/26 and Bun Node 26 each pass 682/682 with zero test skips and all four coverage dimensions at 100 percent. Focused tracker-linked stream verification passes 2/2; the original one-second deadline, input size and stdin-failure assertion remain intact. The item remains in progress for orchestrator verification; releasing the claim without closure." + "2026-10-24T21:47:38.929Z",codex-agent,"Returned to open in the 2026-10-24 sweep: Recorded receipts show a deterministic descriptor-close fixture, but no merged PR title/body/commit names this item and its comments do not identify the delivering PR. Attribution remains unverified; no active work." files[1]{path,scope}: test/audit-git-identities.test.ts,project tests[1]{command,scope,timeout_seconds,pm_context_mode,workspace_context_mode,provenance{author,created_at,source_kind,source_ref}}: diff --git a/CHANGELOG.md b/CHANGELOG.md index 29372b3b..4b27b950 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ - Environment registration and versioning, immutable once referenced ([pm-rl-et5b](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-et5b.toon)) - Run lifecycle ingests NDJSON in bounded pm-rl/2 segments, reads pm-rl/1, and measures sustained storage ([pm-rl-dyho](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-dyho.toon)) +- Train a history-prefix learner on the public tracker environment ([pm-rl-prefix](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-prefix.toon)) +- Enforce predeclared causal evaluation plans at promotion ([pm-rl-evalplans](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-evalplans.toon)) +- Explain learned policy suitability with portable replayable cards ([pm-rl-policycards](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-policycards.toon)) +- Observe candidate policies safely before deployment ([pm-rl-shadow](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-shadow.toon)) - Add Docker Compose execution for the durable process trainer contract ([pm-rl-mjo5](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-mjo5.toon)) - Train the bounded LM in external Compose jobs across recursive generations ([pm-rl-whrd](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-whrd.toon)) - Improve bounded training recipes over public tracker histories ([pm-rl-meta](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-meta.toon)) @@ -80,6 +84,7 @@ - Metric series live in item history, never in an item body ([pm-rl-mpd9](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/decisions/pm-rl-mpd9.toon)) - 100/100/100 coverage and full docstring coverage for pm-rl ([pm-rl-fpon](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-fpon.toon)) +- Keep the HTTP receipt crash drill within its unchanged timeout ([pm-rl-bi4v](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-bi4v.toon)) - Certify pm-rl on PM CLI/SDK 2026.10.4 and consolidate pending dependency updates ([pm-rl-hncb](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/chores/pm-rl-hncb.toon)) - Auto-merge green Dependabot updates and group the pm toolchain into one daily PR ([pm-rl-3q1e](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-3q1e.toon)) - Certify pm CLI 2026.9.23 and adopt the guarded pm-ops merge-driver launcher ([pm-rl-nerp](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/chores/pm-rl-nerp.toon)) From e139976a97014a373e36f762898f90383db749a5 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Sun, 25 Oct 2026 01:13:44 +0200 Subject: [PATCH 2/2] Record delivery merge times as completed_at on sweep closures The in-progress sweep closed delivered items with completed_at set to the reconciliation time. Analytics that read completed_at as the delivery time (cycle time, recall utility, burndown) then see work finish up to weeks late. Each closure now carries the cited PR's merge time as completed_at; closed_at keeps the tracker reconciliation time. Recorded with pm update --completed-at, so the correction is an appended history event. --- .agents/pm/features/pm-rl-evalplans.toon | 4 ++-- .agents/pm/features/pm-rl-policycards.toon | 4 ++-- .agents/pm/features/pm-rl-prefix.toon | 4 ++-- .agents/pm/features/pm-rl-shadow.toon | 4 ++-- .agents/pm/history/pm-rl-bi4v.jsonl | 1 + .agents/pm/history/pm-rl-evalplans.jsonl | 1 + .agents/pm/history/pm-rl-policycards.jsonl | 1 + .agents/pm/history/pm-rl-prefix.jsonl | 1 + .agents/pm/history/pm-rl-shadow.jsonl | 1 + .agents/pm/tasks/pm-rl-bi4v.toon | 4 ++-- CHANGELOG.md | 6 +++--- 11 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.agents/pm/features/pm-rl-evalplans.toon b/.agents/pm/features/pm-rl-evalplans.toon index c15e9ff3..89b464e9 100644 --- a/.agents/pm/features/pm-rl-evalplans.toon +++ b/.agents/pm/features/pm-rl-evalplans.toon @@ -6,9 +6,9 @@ status: closed priority: 2 tags: [] created_at: "2026-10-21T21:36:09.182Z" -updated_at: "2026-10-24T21:47:38.384Z" +updated_at: "2026-10-24T23:13:31.158Z" closed_at: "2026-10-24T21:47:38.368Z" -completed_at: "2026-10-24T21:47:38.368Z" +completed_at: "2026-10-22T22:30:52.000Z" author: codex-agent estimated_minutes: 180 acceptance_criteria: Synthetic correlated cohorts cannot masquerade as independent samples; changed plans invalidate comparison identity. Typed SDK and CLI; compact TOON/JSON; typed refusals with remedies; README and example; non-git real public-tracker validation; npm and Bun CI release gates. diff --git a/.agents/pm/features/pm-rl-policycards.toon b/.agents/pm/features/pm-rl-policycards.toon index 8879be8c..a0379131 100644 --- a/.agents/pm/features/pm-rl-policycards.toon +++ b/.agents/pm/features/pm-rl-policycards.toon @@ -6,9 +6,9 @@ status: closed priority: 2 tags[1]: "gh:unbraind/pm-rl#100" created_at: "2026-10-23T14:29:56.651Z" -updated_at: "2026-10-24T21:47:38.271Z" +updated_at: "2026-10-24T23:13:28.143Z" closed_at: "2026-10-24T21:47:38.243Z" -completed_at: "2026-10-24T21:47:38.243Z" +completed_at: "2026-10-24T16:03:45.000Z" author: codex-agent acceptance_criteria: Missing provenance blocks adoption; replay identifies every cited result; export contains no training examples or credentials; typed SDK and compact TOON/JSON CLI; every recursive candidate and promotion has a card; read-only public tracker validation demonstrates at least two generations; npm and Bun CI release gates pass at unchanged thresholds. parent: pm-rl-apvf diff --git a/.agents/pm/features/pm-rl-prefix.toon b/.agents/pm/features/pm-rl-prefix.toon index a30af430..291985df 100644 --- a/.agents/pm/features/pm-rl-prefix.toon +++ b/.agents/pm/features/pm-rl-prefix.toon @@ -6,9 +6,9 @@ status: closed priority: 2 tags: [] created_at: "2026-10-18T07:43:41.188Z" -updated_at: "2026-10-24T21:47:38.467Z" +updated_at: "2026-10-24T23:13:33.319Z" closed_at: "2026-10-24T21:47:38.459Z" -completed_at: "2026-10-24T21:47:38.459Z" +completed_at: "2026-10-20T09:52:40.000Z" author: codex-agent acceptance_criteria: "Train only on training repositories; preserve inner-held-out, meta-validation and final-test boundaries, fixed pre-approved budgets and unchanged promotion gate; report majority baselines, prediction diversity and final-test scores; demonstrate statistically supported improvement or explicitly report a null result without weakening the gate." parent: pm-rl-apvf diff --git a/.agents/pm/features/pm-rl-shadow.toon b/.agents/pm/features/pm-rl-shadow.toon index e206a0bc..15221b19 100644 --- a/.agents/pm/features/pm-rl-shadow.toon +++ b/.agents/pm/features/pm-rl-shadow.toon @@ -6,9 +6,9 @@ status: closed priority: 1 tags: [] created_at: "2026-10-23T06:41:11.687Z" -updated_at: "2026-10-24T21:47:37.864Z" +updated_at: "2026-10-24T23:13:25.332Z" closed_at: "2026-10-24T21:47:37.800Z" -completed_at: "2026-10-24T21:47:37.800Z" +completed_at: "2026-10-23T08:52:15.000Z" author: codex-agent acceptance_criteria: Candidate failures never affect active actions; Budgets include both arms; Switching requires a validated outcome comparison through existing promotion and RSI code parent: pm-rl-apvf diff --git a/.agents/pm/history/pm-rl-bi4v.jsonl b/.agents/pm/history/pm-rl-bi4v.jsonl index 6800bcb4..70f0aea3 100644 --- a/.agents/pm/history/pm-rl-bi4v.jsonl +++ b/.agents/pm/history/pm-rl-bi4v.jsonl @@ -17,3 +17,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-18T03:01:13.159Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"7037d132570a6285e78b5af5","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/8","value":{"created_at":"2026-10-18T03:01:13.159Z","author":"codex-agent","text":"Audit: MET against recorded acceptance in merged PR #80. The serial baseline measured 276105.853 ms; concurrent full runs hit the unchanged 300000 ms limit. Forked crash children inherited V8 coverage; isolated child execArgv and raw coverage output plus bounded independent pairs retain all eight real HTTP-to-PM crash boundaries. Guard-only revert fails with inherited-coverage evidence; restored focused and linked runs pass. Both full release gates passed 590/590 with all eight boundaries within 300000 ms and unchanged four-metric thresholds. No remaining acceptance gap in that evidence; leave open for orchestrator verification."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-18T03:01:13.159Z"}],"before_hash":"ed49125d86beafda1de9d7e9708676e510e38f80cd2b9c7420bebe94bde32984","after_hash":"1ed034779069d09b69d118e6c055fb241d3fe7a6513fa95e3f3ab14005a4ae8a","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"dda92b7d900ec21fc3739286a5d26f1b73852237d839a3a7404f6416f23fe42e"} {"hash_algorithm":"sha256","ts":"2026-10-18T03:01:14.190Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"7037d132570a6285e78b5af5","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-18T03:01:14.190Z"}],"before_hash":"1ed034779069d09b69d118e6c055fb241d3fe7a6513fa95e3f3ab14005a4ae8a","after_hash":"4b4c2649ed7fa28ad7e2f4ec20755e45669187cf2ca81215cc956de7fc0d7c4b","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"ee845440b1866e229db080ccc94bdb28d241ce19dfeb0d6cd83ebc888d90ae7d"} {"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.567Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.567Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.556Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.556Z"},{"op":"add","path":"/metadata/resolution","value":"Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."},{"op":"add","path":"/metadata/expected_result","value":"A baseline/candidate timing reproduction identifies the cause; the real eight-boundary drill and complete release gates pass with the existing 300-second timeout and unchanged coverage thresholds."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/80, merged 2026-10-16T06:28:49Z, merge b255dfac6543ab178ab2720fad1de1ba49f91dd4: Baseline/candidate timing diagnosis isolates killed-child coverage and bounds independent pairs; all eight real HTTP crash boundaries and npm/Bun gates pass within the unchanged 300-second limit."}],"before_hash":"4b4c2649ed7fa28ad7e2f4ec20755e45669187cf2ca81215cc956de7fc0d7c4b","after_hash":"4dfc2b4b9c4b7c46fbfb0be529bdbb6f7a369235f7c9c8a986dc335d1af9bea3","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"fbbbcc56a939ded23b401fff8aa085676e06d6be79b2583ad7def91c6e10df0c"} +{"hash_algorithm":"sha256","ts":"2026-10-24T23:13:35.222Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"b99075bb5566e88876a824a8","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"xhigh","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.310","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/completed_at","value":"2026-10-16T06:28:49.000Z"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T23:13:35.222Z"}],"before_hash":"4dfc2b4b9c4b7c46fbfb0be529bdbb6f7a369235f7c9c8a986dc335d1af9bea3","after_hash":"74afb31dade285e1d670e4029bebc446c6d9127b142c843ab9820c645d03478d","item_hash_version":3,"message":"Correct completed_at to the delivery merge time (https://github.com/unbraind/pm-rl/pull/80 merged 2026-10-16T06:28:49Z); closed_at keeps the tracker reconciliation time.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"},"version":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"b6d8b12a8560500b12dca0e628a98bb5d410a1770e7222830e4844b7538ddd44"} diff --git a/.agents/pm/history/pm-rl-evalplans.jsonl b/.agents/pm/history/pm-rl-evalplans.jsonl index fc4485ed..76c55937 100644 --- a/.agents/pm/history/pm-rl-evalplans.jsonl +++ b/.agents/pm/history/pm-rl-evalplans.jsonl @@ -65,3 +65,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-22T22:08:49.701Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/34","value":{"created_at":"2026-10-22T22:08:49.700Z","author":"codex-agent","text":"Final combined review candidate cbba6fe592203291a44ce59eb67f99221f8457a5 is verified: complete npm run release:check on Node 22 and Node 26 and bun run release:check with Bun 1.3.14 on Node 26 all pass in https://github.com/unbraind/pm-rl/actions/runs/39860078247. Jobs 120108200209, 120108199767 and 120108200266 each report 719/719 tests, zero failures/skips/cancellations/todos, 49 sources at 100% statements/lines/branches/functions, 343 documented declarations and zero production audit vulnerabilities. Strict fresh tracker health, package/changelog checks and Bun package-graph installation pass in all jobs. CodeQL run 39860078292 passes at this same head. The earlier numerical-only candidate 925743d also passed all three complete release gates 718/718 at unchanged four 100% thresholds. Restored local evidence: four numerical tests pass 4/4 over 52 magnitude/direction/grouping configurations; the broader pinned-PM snapshot suite passes 47/47; the new default/custom-prefix CLI regression passes 1/1 both directly and through pinned PM. Five function-only revert proofs fail 0/1 each: node --test --test-name-pattern=\"large-offset tied\" test/evaluation-plan.test.ts with both numerical functions restored from b4ea1fa; node --test --test-name-pattern=\"balanced large-offset\" test/evaluation-plan.test.ts with evaluatePlan alone reverted; node --test --test-name-pattern=\"centered promotion margins\" test/promotion.test.ts with decidePromotion alone reverted; node --test --test-name-pattern=\"reward magnitude and offset\" test/evaluation-plan.test.ts with the intermediate naive inverse evaluator restored; and node --test --test-name-pattern=\"CLI evaluation plan show normalizes\" test/evaluation-plan.test.ts with only the show handler reverted. All fixes restored afterward. Latest complete GraphQL refresh has only fixed thread PRRT_kwDOTqJmqs6vYux4, all its comments read, and no outside-diff findings. No thread reply/resolution action, merge, package release, timeout waiver, dependency bump or gate relaxation was performed. Native means retain reward units; statistical verdict fields use documented normalized units. Original-history trust limits and existing tracker/lint advisories remain unchanged. Releasing the claim for orchestrator verification; the item remains in progress. The final receipt changes append-only PM evidence only, with source and tests byte-identical to this verified head."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T22:08:49.701Z"}],"before_hash":"f6255dbf75a5a38b8a1e4ceeae42a232a69d4b25abed97c92b741e5db785fe3d","after_hash":"d50e85aa6d4b38526bc35e45d3255010d2dd61e13730ecffc3aa075337bf6c76","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"d2a651b283f3c80061e5d593643ece4a590a51557a479d03d15a47b1a9c7e97f"} {"hash_algorithm":"sha256","ts":"2026-10-22T22:08:53.025Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"c48596e9994322b2614d5e7d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-22T22:08:53.025Z"}],"before_hash":"d50e85aa6d4b38526bc35e45d3255010d2dd61e13730ecffc3aa075337bf6c76","after_hash":"87ead52c9413d4f5ead945e258cd1a9d37c79243bf29049cda66a0a44d2c1858","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"2841ae7596ec35484e9d49f7f111a67bf7db741ea9ee467d4d437b76a083dc3e"} {"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.384Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.384Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.368Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.368Z"},{"op":"add","path":"/metadata/resolution","value":"Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."},{"op":"add","path":"/metadata/expected_result","value":"Synthetic correlated cohorts cannot masquerade as independent samples; changed plans invalidate comparison identity. Typed SDK and CLI; compact TOON/JSON; typed refusals with remedies; README and example; non-git real public-tracker validation; npm and Bun CI release gates."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/97, merged 2026-10-22T22:30:52Z, merge c52079a5913594fec8692dc44c37216ecce71a60: Promotion binds predeclared causal plans and independent cohort structure; changed plans invalidate comparison identity and correlated cohorts cannot inflate sample counts."}],"before_hash":"87ead52c9413d4f5ead945e258cd1a9d37c79243bf29049cda66a0a44d2c1858","after_hash":"ab44b64b56d0a7279260c51147425a2def344e3fd96ce8a4cc74904387d42be5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"c09ca3d328730d67bbf8c30bcbbe515bbb0f2c7591b851e26e9e646812c218bf"} +{"hash_algorithm":"sha256","ts":"2026-10-24T23:13:31.158Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"b99075bb5566e88876a824a8","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"xhigh","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.310","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/completed_at","value":"2026-10-22T22:30:52.000Z"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T23:13:31.158Z"}],"before_hash":"ab44b64b56d0a7279260c51147425a2def344e3fd96ce8a4cc74904387d42be5","after_hash":"035f6cda6898f7cec7f2803256d605a26d0f7fbfca939d37d7acfe10401aff1c","item_hash_version":3,"message":"Correct completed_at to the delivery merge time (https://github.com/unbraind/pm-rl/pull/97 merged 2026-10-22T22:30:52Z); closed_at keeps the tracker reconciliation time.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"},"version":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"d00945feb8a5fb613a480c423b1d40bd19714a695c7f5ee13dfe9d50c2d4a734"} diff --git a/.agents/pm/history/pm-rl-policycards.jsonl b/.agents/pm/history/pm-rl-policycards.jsonl index 7564f8a8..4513074f 100644 --- a/.agents/pm/history/pm-rl-policycards.jsonl +++ b/.agents/pm/history/pm-rl-policycards.jsonl @@ -214,3 +214,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-24T15:17:47.009Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"6f6c90c6512403514c9c5684","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/102","value":{"created_at":"2026-10-24T15:17:47.009Z","author":"codex-agent","text":"The overlapping-writer manual retry correction passes the combined 7/7 suite directly and through PM, including matching publication recovery, different sealed requests, one concurrent winner and in-lock ancestor contamination. Existing in-lock refusal input now explicitly uses different local evidence, preserving its original already-promoted refusal assertion; matching requests are tested with the real SDK peer. Final regression SHA-256 is 32b95056522ba5cc10f2979e670ea5126d1cdfed9f849d41c3a129214f100874. Three independent production-only reverts each fail 1/1: canonical projection, initial committed-state recovery, and only the stale-read already-promoted reconciliation. All production edits were restored; tests unchanged within each proof. The last revert specifically fails the real peer regression with already_promoted while retaining ordinary post-commit retry recovery. Typecheck, source/test compilation, lint and duplication pass; source and thresholds are frozen for a fresh exact-head npm/Bun CI run."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T15:17:47.009Z"}],"before_hash":"3a83d7ce4b21725b154c204e05aecd11909add1c10d55550ee82df90fa711ac8","after_hash":"e527a5eb6932e955a7a5907e5ae5df306fc0d6e1deb77b0fcec0ddbdc5a2edb7","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"17bd5395c2f77624e174d25059d53661891d7ab441f67632525a2a3e1b050a5c"} {"hash_algorithm":"sha256","ts":"2026-10-24T15:17:48.800Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"6f6c90c6512403514c9c5684","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T15:17:48.800Z"}],"before_hash":"e527a5eb6932e955a7a5907e5ae5df306fc0d6e1deb77b0fcec0ddbdc5a2edb7","after_hash":"bc379effbcd6f861c1ae6ca334a3d4ce2eeeacd1d3159c8e7c4cc819bd9e5267","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"58a2ec7ade915e1dc8c36cb093229855bdb74de921c96e20c1360ab822f348e9"} {"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.271Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.271Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.243Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.243Z"},{"op":"add","path":"/metadata/resolution","value":"Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."},{"op":"add","path":"/metadata/expected_result","value":"Missing provenance blocks adoption; replay identifies every cited result; export contains no training examples or credentials; typed SDK and compact TOON/JSON CLI; every recursive candidate and promotion has a card; read-only public tracker validation demonstrates at least two generations; npm and Bun CI release gates pass at unchanged thresholds."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/100, merged 2026-10-24T16:03:45Z, merge 9949e50b9d18f813f487a34b738fda5ebd7f8e88: Portable cards bind canonical provenance and every recursive candidate/promotion, replay cited outcomes without examples or credentials and retain recoverable publication with two-generation public evidence and release CI."}],"before_hash":"bc379effbcd6f861c1ae6ca334a3d4ce2eeeacd1d3159c8e7c4cc819bd9e5267","after_hash":"b90510f3bdf7c486be0f7b739de9fbc0afd219ce96639ff8178113a01019053d","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"1cd9a15f5a010c8bd26f037a2f1344db04260e5c7deb29702277077a202a61a4"} +{"hash_algorithm":"sha256","ts":"2026-10-24T23:13:28.143Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"b99075bb5566e88876a824a8","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"xhigh","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.310","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/completed_at","value":"2026-10-24T16:03:45.000Z"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T23:13:28.143Z"}],"before_hash":"b90510f3bdf7c486be0f7b739de9fbc0afd219ce96639ff8178113a01019053d","after_hash":"478d1b8ca66851cb7c30d6e7674924ec5a73e70124b851f7d26829ebde7983f1","item_hash_version":3,"message":"Correct completed_at to the delivery merge time (https://github.com/unbraind/pm-rl/pull/100 merged 2026-10-24T16:03:45Z); closed_at keeps the tracker reconciliation time.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"},"version":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"ac520c16bb5851b18a372402160e5e42ec0ef1d264cd0f37a5ea43653020792d"} diff --git a/.agents/pm/history/pm-rl-prefix.jsonl b/.agents/pm/history/pm-rl-prefix.jsonl index 6b499971..bdba080b 100644 --- a/.agents/pm/history/pm-rl-prefix.jsonl +++ b/.agents/pm/history/pm-rl-prefix.jsonl @@ -45,3 +45,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-20T07:54:20.194Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"ce8971f7f1efa611b2d5bd5d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/21","value":{"created_at":"2026-10-20T07:54:20.192Z","author":"codex-agent","text":"Full source acceptance on c639adb7ed5d330e948eba5ddc6c7e148ec15db6: CI run39387106691 passes unchanged npm run release:check on Node22 and26 and bun run release:check on Node26. Downloaded and independently checked all three complete logs: each655/655, zero fail/skip/cancel/todo; all44 authored sources at100% statements/lines/branches/functions;321 documented declarations. Lint, duplication, attestation, production audit, pack, changelog, strict tracked health and CodeQL pass. Fresh no-local clone strict health also passes with isolated identity and merge drivers. The redundant local suite was deliberately stopped after complete required CI receipts; no local full-gate pass is claimed. PR89 remains open with auto-merge disabled. Final handoff adds only historical accuracy intervals, documentation and append-only PM evidence; TypeScript, tests, budgets, source pins and thresholds match the tested source. Releasing for orchestrator review, keeping the item in_progress and not closed. Known pm-rl-stdin remains separate; no new upstream issue was filed. Capacity and independent-tracker power remain open limitations."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-20T07:54:20.194Z"}],"before_hash":"13955e1755c8c155f1dce14cc178e67ad1e8c1810a5eb1b0b875faf5863ce357","after_hash":"595a3219cb708c7d25fe84ad9a5f6267bc049fa95377a603073b0b54d197dc49","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"2340d6d1c5380665f20c61c5bd53def5e3ac953103505a117eb84abb5f6434d8"} {"hash_algorithm":"sha256","ts":"2026-10-20T07:54:22.789Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"ce8971f7f1efa611b2d5bd5d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"xhigh","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-20T07:54:22.789Z"}],"before_hash":"595a3219cb708c7d25fe84ad9a5f6267bc049fa95377a603073b0b54d197dc49","after_hash":"1f96f1059f5d69a7ef95dd8cb760ab61aedaec2572869f7dae3d049358251387","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"43990a12835d708349c9ce515dff938ae36bc36129345137fd530d081e69c5b0"} {"hash_algorithm":"sha256","ts":"2026-10-24T21:47:38.467Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:38.467Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:38.459Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:38.459Z"},{"op":"add","path":"/metadata/resolution","value":"Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."},{"op":"add","path":"/metadata/expected_result","value":"Train only on training repositories; preserve inner-held-out, meta-validation and final-test boundaries, fixed pre-approved budgets and unchanged promotion gate; report majority baselines, prediction diversity and final-test scores; demonstrate statistically supported improvement or explicitly report a null result without weakening the gate."},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/89, merged 2026-10-20T09:52:40Z, merge aadf966a77788552ffb57f87874e4aa98254e759: Training remains confined to frozen training repositories and budgets, reports majority/diversity/calibration/final-test scores and an explicit null result without weakening promotion."}],"before_hash":"1f96f1059f5d69a7ef95dd8cb760ab61aedaec2572869f7dae3d049358251387","after_hash":"080daf969dd62fafba711aa5ebc9ce0613b9494d499531609093ef2e49d05af5","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"04c756d027aaaeefba00055b0a4f088a86130dcdf96f909ab1292a352b7b4c64"} +{"hash_algorithm":"sha256","ts":"2026-10-24T23:13:33.319Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"b99075bb5566e88876a824a8","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"xhigh","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.310","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/completed_at","value":"2026-10-20T09:52:40.000Z"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T23:13:33.319Z"}],"before_hash":"080daf969dd62fafba711aa5ebc9ce0613b9494d499531609093ef2e49d05af5","after_hash":"0f3bb29d2ce9097a548412074c15806d955c6c559e0f2f91caaea40966c25f7d","item_hash_version":3,"message":"Correct completed_at to the delivery merge time (https://github.com/unbraind/pm-rl/pull/89 merged 2026-10-20T09:52:40Z); closed_at keeps the tracker reconciliation time.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"},"version":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"6fefc82b70f9f49c6bc7e94c82c1931e1b3edf5d4405ee98a995528da4b5b103"} diff --git a/.agents/pm/history/pm-rl-shadow.jsonl b/.agents/pm/history/pm-rl-shadow.jsonl index ccebd22d..f2795f1e 100644 --- a/.agents/pm/history/pm-rl-shadow.jsonl +++ b/.agents/pm/history/pm-rl-shadow.jsonl @@ -18,3 +18,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-23T08:22:04.807Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf73d9707128820a198a2441","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/8","value":{"created_at":"2026-10-23T08:22:04.807Z","author":"codex-agent","text":"Final follow-up verification: node --test --experimental-test-coverage --test-coverage-include=shadow.ts test/shadow.test.ts passes 25/25 with 100% lines/branches/functions for shadow.ts. Restored four requested regressions pass 4/4 with Git absent from PATH and an explicit discovery ceiling. Independent revert commands use node --test --test-name-pattern with the exact prefixes review regression: identical actions; review regression: a consented original zero-budget; review regression: an original tampered disagreement; review regression: a manifest cohort grown. Reverting only validateObservation to accept stored rows fails the reward and disagreement cases 1/1 each; reverting only validateDeployment to retain consent without cohort/budget checks fails the budget and expanded-cohort cases 1/1 each, all with Missing expected rejection. Source restored. Pinned linked-test execution passes 1/1; typecheck, test typecheck, lint, zero duplication and docstrings pass. Repacked public acceptance on the existing read-only source copy reproduces docs/shadow-evidence.json byte-for-byte. PR https://github.com/unbraind/pm-rl/pull/99 will carry the exact pushed-head npm/Bun CI run and counts; previous-head gates are historical only. Claim released for orchestrator verification; item remains in progress."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-23T08:22:04.807Z"}],"before_hash":"8b64a4088224bf77f48234005cd043f5299746539ece25d729f187d479e600d7","after_hash":"56ab5c2cf4cf84696f8d0ee227a94d75bcc8952989ec7b29c53a6030be75974c","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"2b01b84103ce0905fb4e28fc92f8e963a6653da94ae98f54b9e4243c20333e1b"} {"hash_algorithm":"sha256","ts":"2026-10-23T08:22:07.469Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf73d9707128820a198a2441","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-23T08:22:07.469Z"}],"before_hash":"56ab5c2cf4cf84696f8d0ee227a94d75bcc8952989ec7b29c53a6030be75974c","after_hash":"29bfd0ac60335f4d9223f2d1aaa023d86949df208ecd1cb3a3f6c6866a912e87","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"maintenance","record_hash_version":1,"record_hash":"2e98b942a28f79d6a912d588c1bc337d91afed451fd2b8df69fdf4aefe0b3b36"} {"hash_algorithm":"sha256","ts":"2026-10-24T21:47:37.864Z","author":"codex-agent","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"45d20434178787c3d9448609","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"close","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T21:47:37.864Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-10-24T21:47:37.800Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-10-24T21:47:37.800Z"},{"op":"add","path":"/metadata/resolution","value":"Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."},{"op":"add","path":"/metadata/expected_result","value":"Candidate failures never affect active actions; Budgets include both arms; Switching requires a validated outcome comparison through existing promotion and RSI code"},{"op":"add","path":"/metadata/actual_result","value":"https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."},{"op":"add","path":"/metadata/close_reason","value":"https://github.com/unbraind/pm-rl/pull/99, merged 2026-10-23T08:52:15Z, merge ba69b6139aaea389f64c7cad018dc7198c33c7f1: Consented shadow failures cannot affect active actions, budgets include both arms and switching requires existing validated outcome-comparison/promotion controls."}],"before_hash":"29bfd0ac60335f4d9223f2d1aaa023d86949df208ecd1cb3a3f6c6866a912e87","after_hash":"68a84716f8527c32c3fb0a5c91709df69f5b54a9e249159c3f5b871610d98e15","item_hash_version":3,"context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"effort":{"status":"resolved","resolver":"codex_session_file","rule_version":"v1"},"version":{"status":"unavailable","reason":"harness_unavailable","resolver":"ai_agent_version","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"5bb1b070a5fb4d30369479253287aef41f2a6e20e7362fdb84e2a1d61632f9c1"} +{"hash_algorithm":"sha256","ts":"2026-10-24T23:13:25.332Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"b99075bb5566e88876a824a8","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"xhigh","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.310","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/completed_at","value":"2026-10-23T08:52:15.000Z"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-24T23:13:25.332Z"}],"before_hash":"68a84716f8527c32c3fb0a5c91709df69f5b54a9e249159c3f5b871610d98e15","after_hash":"14dbb4f9a8e79a9a0c1d6fe38411dfc6ebaad7540802b83d7ffa81709ba6f52d","item_hash_version":3,"message":"Correct completed_at to the delivery merge time (https://github.com/unbraind/pm-rl/pull/99 merged 2026-10-23T08:52:15Z); closed_at keeps the tracker reconciliation time.","context":{"agent_provenance_outcomes":{"model":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"},"version":{"status":"resolved","resolver":"claude_session_file","rule_version":"v1"}}},"event_class":"substantive","record_hash_version":1,"record_hash":"061e6a807e05719d479b5187a68f8ae20884d86b0d82bf925886216727667948"} diff --git a/.agents/pm/tasks/pm-rl-bi4v.toon b/.agents/pm/tasks/pm-rl-bi4v.toon index b9ff5d42..ff9dd2bf 100644 --- a/.agents/pm/tasks/pm-rl-bi4v.toon +++ b/.agents/pm/tasks/pm-rl-bi4v.toon @@ -6,9 +6,9 @@ status: closed priority: 2 tags: [] created_at: "2026-10-15T22:41:40.256Z" -updated_at: "2026-10-24T21:47:38.567Z" +updated_at: "2026-10-24T23:13:35.222Z" closed_at: "2026-10-24T21:47:38.556Z" -completed_at: "2026-10-24T21:47:38.556Z" +completed_at: "2026-10-16T06:28:49.000Z" author: codex-agent acceptance_criteria: A baseline/candidate timing reproduction identifies the cause; the real eight-boundary drill and complete release gates pass with the existing 300-second timeout and unchanged coverage thresholds. parent: pm-rl-apvf diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b27b950..2f0fc228 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,15 +6,15 @@ - Environment registration and versioning, immutable once referenced ([pm-rl-et5b](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-et5b.toon)) - Run lifecycle ingests NDJSON in bounded pm-rl/2 segments, reads pm-rl/1, and measures sustained storage ([pm-rl-dyho](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-dyho.toon)) -- Train a history-prefix learner on the public tracker environment ([pm-rl-prefix](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-prefix.toon)) -- Enforce predeclared causal evaluation plans at promotion ([pm-rl-evalplans](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-evalplans.toon)) - Explain learned policy suitability with portable replayable cards ([pm-rl-policycards](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-policycards.toon)) - Observe candidate policies safely before deployment ([pm-rl-shadow](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-shadow.toon)) +- Enforce predeclared causal evaluation plans at promotion ([pm-rl-evalplans](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-evalplans.toon)) - Add Docker Compose execution for the durable process trainer contract ([pm-rl-mjo5](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-mjo5.toon)) - Train the bounded LM in external Compose jobs across recursive generations ([pm-rl-whrd](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-whrd.toon)) - Improve bounded training recipes over public tracker histories ([pm-rl-meta](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-meta.toon)) - Promote improver policies from their own outcome ledger ([pm-rl-rsi](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-rsi.toon)) - Lift the prefix learner's capacity bound: content-addressed checkpoint artifacts instead of the 4096-byte staging record ([pm-rl-a2zp](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-a2zp.toon)) +- Train a history-prefix learner on the public tracker environment ([pm-rl-prefix](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-prefix.toon)) - Durable external process trainers with atomic resource reservations ([pm-rl-shgm](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-shgm.toon)) - System One decision-model calibration adapter for the recursive loop ([pm-rl-qhz2](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-qhz2.toon)) - Live acceptance: two tev1:4b generations through npm run test:live ([pm-rl-ip21](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/features/pm-rl-ip21.toon)) @@ -84,8 +84,8 @@ - Metric series live in item history, never in an item body ([pm-rl-mpd9](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/decisions/pm-rl-mpd9.toon)) - 100/100/100 coverage and full docstring coverage for pm-rl ([pm-rl-fpon](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-fpon.toon)) -- Keep the HTTP receipt crash drill within its unchanged timeout ([pm-rl-bi4v](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-bi4v.toon)) - Certify pm-rl on PM CLI/SDK 2026.10.4 and consolidate pending dependency updates ([pm-rl-hncb](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/chores/pm-rl-hncb.toon)) +- Keep the HTTP receipt crash drill within its unchanged timeout ([pm-rl-bi4v](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-bi4v.toon)) - Auto-merge green Dependabot updates and group the pm toolchain into one daily PR ([pm-rl-3q1e](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/tasks/pm-rl-3q1e.toon)) - Certify pm CLI 2026.9.23 and adopt the guarded pm-ops merge-driver launcher ([pm-rl-nerp](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/chores/pm-rl-nerp.toon)) - Certify pm CLI 2026.9.17 ([pm-rl-jlom](https://github.com/unbraind/pm-rl/blob/main/.agents/pm/chores/pm-rl-jlom.toon))