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
25 changes: 25 additions & 0 deletions .agents/pm/chores/pm-rust-rz25.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: pm-rust-rz25
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:35.657Z"
updated_at: "2026-10-24T21:50:28.126Z"
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:36.362Z",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:48:11.782Z",codex-agent,"Reviewed 21 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:50:28.126Z",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:48:11.889Z",local_mutation,chore/pm-in-progress-sweep
docs[1]{path,scope,note}:
CHANGELOG.md,project,Regenerated package release notes
body: ""
4 changes: 1 addition & 3 deletions .agents/pm/epics/pm-rust-u4al.toon
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ status: open
priority: 1
tags[5]: agents,cli,interop,rust,sdk
created_at: "2026-08-06T21:15:44.282Z"
updated_at: "2026-09-12T23:23:10.019Z"
assignee: codex
claim_principal: codex
updated_at: "2026-10-24T21:48:10.152Z"
author: codex
estimated_minutes: 4800
acceptance_criteria: Rust-only CLI and SDK pass shared conformance fixtures against the latest published pm release; multi-process and real-branch tests prove no lost PM updates; publication remains disabled until privacy audit and maintainer approval
Expand Down
10 changes: 8 additions & 2 deletions .agents/pm/features/pm-rust-bounded-read-sessions.toon
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@ id: pm-rust-bounded-read-sessions
title: Stream certified native reads under caller resource limits
description: "Embeddable bounded read sessions for non-Node hosts, reusing existing native query and output contracts."
type: Feature
status: in_progress
status: closed
priority: 2
tags[4]: embedding,"gh:unbraind/pm-rust#110",resources,sdk
created_at: "2026-10-23T14:33:11.991Z"
updated_at: "2026-10-23T22:07:52.953Z"
updated_at: "2026-10-24T23:14:02.408Z"
closed_at: "2026-10-24T21:48:10.270Z"
completed_at: "2026-10-23T22:54:51.000Z"
author: codex-agent
acceptance_criteria: "Large synthetic trackers respect a declared memory ceiling; cancellation releases resources; wire results remain oracle-conformant; compact JSON/TOON, typed refusals and remedies, README and example; read-only non-git public-tracker validation; unchanged CI gates."
parent: pm-rust-u4al
resolution: "Certified streaming reads honor caller memory/cancellation limits while retaining oracle wire contracts, actionable compact outputs and measured non-git public-tracker evidence."
expected_result: "Large synthetic trackers respect a declared memory ceiling; cancellation releases resources; wire results remain oracle-conformant; compact JSON/TOON, typed refusals and remedies, README and example; read-only non-git public-tracker validation; unchanged CI gates."
actual_result: "https://github.com/unbraind/pm-rust/pull/110, merged 2026-10-23T22:54:51Z, merge ec39af2b06d3884c466b5770b41e1cdb745f1cd6: Certified streaming reads honor caller memory/cancellation limits while retaining oracle wire contracts, actionable compact outputs and measured non-git public-tracker evidence."
comments[30]{created_at,author,text}:
"2026-10-23T14:33:35.077Z",codex-agent,"Overlap audit: core SDK listAllComplete/certifyCompleteListResult own completeness and CLI list owns pagination. pm-context owns durable context packs and usage receipts; pm-web consumes complete SDK lists. Native pagination is pm-rust-ufzy and latency is pm-rust-wdj4. No existing embedding resource contract found. Reuse Workspace::list_page, strict decoding, lifecycle registries and JSON/TOON codecs. Add bounded private snapshot admission, cooperative cancellation and certified session receipts without another core query or parity pin. The crate remains native Rust; typed TypeScript is used for the validation harness."
"2026-10-23T14:44:13.698Z",codex-agent,"Implementation decision: immutable private disk snapshots isolate admitted reads from later writers while preserving original cursor identity. Admission accounts native working-set reserve and bounds every source read; the declared ledger ceiling is distinct from measured process RSS. Reuse canonical list_page, strict complete-item decoder and duplicate checks. Pull ownership supplies backpressure, cancellation is cooperative between copying/query boundaries, and completion/failure/cancel/drop remove snapshots. Add unchanged npm/Bun aliases for the existing Rust release gate and a Bun CI aggregate. Local work is restricted to targeted tests, lint/typecheck and focused validation because the host is saturated."
Expand Down Expand Up @@ -71,4 +76,5 @@ docs[3]{path,scope}:
docs/BOUNDED_READ_SESSIONS.md,project
examples/read_session.rs,project
README.md,project
close_reason: "https://github.com/unbraind/pm-rust/pull/110, merged 2026-10-23T22:54:51Z, merge ec39af2b06d3884c466b5770b41e1cdb745f1cd6: Certified streaming reads honor caller memory/cancellation limits while retaining oracle wire contracts, actionable compact outputs and measured non-git public-tracker evidence."
body: ""
7 changes: 4 additions & 3 deletions .agents/pm/features/pm-rust-crash-harness.toon
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ id: pm-rust-crash-harness
title: Compare native and published crash recovery with a reusable kill corpus
description: "Reusable TypeScript process-kill/restart differential SDK and command against the locked published oracle; compare acknowledged durable bytes, append-only histories and restart receipts on disposable plain-directory trackers."
type: Feature
status: in_progress
status: open
priority: 2
tags[3]: conformance,crash-consistency,harness
created_at: "2026-10-21T21:59:35.474Z"
updated_at: "2026-10-22T16:47:30.014Z"
updated_at: "2026-10-24T21:48:10.764Z"
author: codex-agent
acceptance_criteria: Every declared crash boundary preserves acknowledged writes; failures retain minimized synthetic reproductions and never rewrite original history.; Typed SDK and CLI with bounded TOON/JSON receipts and actionable refusals; documented example; public tracker read-copy validation with measured counts; exact-head CI release-check passes.
comments[14]{created_at,author,text}:
comments[15]{created_at,author,text}:
"2026-10-21T21:59:37.843Z",codex-agent,"Overlap recheck: published CLI 2026.10.21 matches the locked oracle. Native tests cover normal command differentials and manually reconstructed durable journals; they do not run a reusable live kill/restart corpus. pm-ops assurance reports measurements; pm-vcs writer publication is backend-specific. This feature adds cross-implementation crash evidence beyond lock/parity work. Reconciliation PR 103 closures and performance PR 102 items are excluded. TypeScript-only SDK/command; synthetic failures; targeted local checks; full gate in CI."
"2026-10-21T22:16:09.535Z",codex-agent,"Implemented the typed TypeScript SDK and standalone just crash CLI. Declared boundaries are all observed rename/fsync task-local ordinals: event-loop write calls were rejected as unstable storage boundaries after real tracing. Two mutation families run on disposable non-git clones; same-family restart checks exact durable bytes and raw per-runtime restart receipts, with explicit shared cross-runtime acknowledgement projections. Synthetic probing measured 20 real kills, 20 preserved acknowledged writes/history prefixes, two successful baseline byte/acknowledgement comparisons and two early native lock-initialization restart refusals. Those refusals are retained as minimal one-item synthetic cases; no original stream is repaired. Full runtime crash conformance is not claimed. Adding independent replay/no-git regressions and public-copy measurements before CI."
"2026-10-21T22:19:48.804Z",codex-agent,"Read-only public-copy validation: public main c0154dbd7cd8071ac52b891be13f956f7a0f21fd, 74 items and 154 authoritative files in a non-git copy with read-only permissions. Measured 20 injected kills, 20 acknowledged-write preservations, 20 exact retained-history prefixes, two cross-runtime baseline byte/acknowledgement matches, 18 successful restart state/receipt checks, two independently reproduced native incomplete-lock restart refusals. Source fingerprint unchanged. Retained evidence is synthetic only. Follow-up pm-rust-crash-lock-restart covers the safe recovery policy, outside this harness change. Behavioral controls disabling history-prefix checking, exact inventory comparison and injected-kill admission each fail their targeted regression with exit 1 and pass after exact byte restoration."
Expand All @@ -24,6 +24,7 @@ comments[14]{created_at,author,text}:
"2026-10-22T16:41:16.374Z",codex-agent,"Documentation revert proof for PRRT_kwDOTwgMRs6vRw2E: node --test --test-name-pattern=\"replay guidance\" scripts/crash-harness.test.mts checks the public guide and SDK docstring. Reverting only docs/CRASH_HARNESS.md yields one intended missing-baseline_parity-exception failure and one unaffected pass. Restoring it and reverting only the replay API docstring yields the other intended failure and one unaffected pass. Both exact byte sequences restored: 2/2 pass. These are documentation-contract controls; runtime replay behavior was already correct and was not changed. The complete just crash-check passes strict erasable TypeScript, ESLint and 20/20 Linux tests with zero failed/canceled/skipped; current native build also passes. Pinned-PM linked controls pass 2/2; result storage remains disabled by project policy, so results are retained here."
"2026-10-22T16:41:17.977Z",codex-agent,"Self-review of the whole PR confirms the only overstatements were the retained-case guide and public replay docstring; README, CLI help, manifest validation and the single-boundary selection type do not claim that every replay selects one case. Original histories, stored commands and implementation behavior remain untouched. Releasing the implementation claim with status retained in_progress. Final exact-head unchanged just release-check CI receipts and counts will be recorded in PR https://github.com/unbraind/pm-rust/pull/104; pending CI is not approval. The original stacked-PR instruction still requires merging this completed update and main into PR 105 after PR 104 has passed and been pushed. No review replies/resolutions, PR merge or release."
"2026-10-22T16:47:29.332Z",codex-agent,"Additional self-review caught an LF-only assumption in the new guide regression. The matcher now accepts both LF and CRLF and exercises both spellings using the real guide contents. Reverting only the optional carriage-return matcher makes the CRLF assertion fail; restoring it passes both guidance tests 2/2. Strict TypeScript and ESLint pass. No documentation, runtime function, input fixture or gate threshold changed in this follow-up. Superseded pending CI at 84ddc56 is not used as approval; the corrected final head needs fresh full release CI."
"2026-10-24T21:48:10.764Z",codex-agent,"Returned to open in the 2026-10-24 sweep: Open PR https://github.com/unbraind/pm-rust/pull/104 carries the reusable kill-corpus harness; merged PR 105 fixes lock recovery but is not complete harness delivery. Review and full harness acceptance remain pending, with no active agent established."
files[5]:
- path: scripts/crash-cli.mts
scope: project
Expand Down
10 changes: 8 additions & 2 deletions .agents/pm/features/pm-rust-portable-native-adapter-abi.toon
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@ title: Use authorized remote backends through a portable native adapter ABI
description: "Core owns backend contracts; pm-web and MCP own transports. Rust interoperability only: no new backend or replacement pm-web client."
type: Feature
pm_format_version: 2
status: in_progress
status: closed
priority: 2
tags[4]: adapter,"gh:unbraind/pm-rust#113",interop,sdk
created_at: "2026-10-24T11:48:18.127Z"
updated_at: "2026-10-24T16:58:04.700Z"
updated_at: "2026-10-24T23:14:01.500Z"
closed_at: "2026-10-24T21:48:10.205Z"
completed_at: "2026-10-24T17:38:43.000Z"
author: codex-agent
acceptance_criteria: "Synthetic remote adapters preserve refusal and receipt semantics; Unsupported capabilities fail before writes; ABI compatibility is checked; Typed SDK and bounded TOON/JSON CLI with actionable refusals, docs and example; Read-only public tracker copy validated without Git; npm and Bun release gates pass"
parent: pm-rust-u4al
resolution: "Portable authorized adapters preserve native refusal/receipt semantics, check ABI compatibility and refuse unsupported capabilities before writes with bounded no-git SDK/CLI and public-copy evidence."
expected_result: "Synthetic remote adapters preserve refusal and receipt semantics; Unsupported capabilities fail before writes; ABI compatibility is checked; Typed SDK and bounded TOON/JSON CLI with actionable refusals, docs and example; Read-only public tracker copy validated without Git; npm and Bun release gates pass"
actual_result: "https://github.com/unbraind/pm-rust/pull/113, merged 2026-10-24T17:38:43Z, merge 8135545bf317852552f2384110e3e05b6678a4b3: Portable authorized adapters preserve native refusal/receipt semantics, check ABI compatibility and refuse unsupported capabilities before writes with bounded no-git SDK/CLI and public-copy evidence."
comments[17]{created_at,author,text}:
"2026-10-24T11:48:21.365Z",codex-agent,"Overlap check: searched existing tracker items for adapter ABI and portable; no duplicate. Inspected pinned SDK 2026.10.21, current 2026.10.24 public exports, core workspace/runtime contracts, pm-web PmRunResult/complete-list receipt handling, and core MCP adapters. Core owns command/backend semantics, authorization and mutation receipts; pm-web/MCP own network transports. Implement a versioned bounded JSON byte boundary for caller-supplied authorized native adapters. No backend, HTTP client, shared cache, persistent lease or outbox is introduced. Rust SDK changes follow this native repository; validation tooling remains erasable TypeScript."
"2026-10-24T12:02:04.204Z",codex-agent,"Implemented the versioned bounded JSON byte ABI, typed get/list/claim/release operations, pre-dispatch admission, unchanged backend envelopes, and explicit dispatched/unknown-outcome refusals with no retries. Added offline adapter-check CLI; it reports compatibility only, never execution. No shared tracker state is written by the boundary. The authoritative native release SDK follows tracker policy, so release capability requires strict owner enforcement; the synthetic remote adapter tests enforce this inside core locking. Tests inject competing claims and release-and-claim handoffs at every one of six adapter boundaries on one non-git tracker. Added readonly public-copy validation using the real complete-list SDK certificate and native children without Git or Node."
Expand Down Expand Up @@ -127,4 +132,5 @@ docs[5]:
scope: project
- path: README.md
scope: project
close_reason: "https://github.com/unbraind/pm-rust/pull/113, merged 2026-10-24T17:38:43Z, merge 8135545bf317852552f2384110e3e05b6678a4b3: Portable authorized adapters preserve native refusal/receipt semantics, check ABI compatibility and refuse unsupported capabilities before writes with bounded no-git SDK/CLI and public-copy evidence."
body: ""
Loading
Loading