Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .agents/pm/chores/pm-rl-9uz4.toon
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 25 additions & 0 deletions .agents/pm/chores/pm-rl-be6l.toon
Original file line number Diff line number Diff line change
@@ -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: ""
7 changes: 4 additions & 3 deletions .agents/pm/epics/pm-rl-apvf.toon
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down Expand Up @@ -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
Expand Down
10 changes: 8 additions & 2 deletions .agents/pm/features/pm-rl-evalplans.toon
Original file line number Diff line number Diff line change
Expand Up @@ -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-24T23:13:31.158Z"
closed_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.
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."
Expand Down Expand Up @@ -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: ""
Loading
Loading