From e3eda29d6857c0371889bb7622db355a62f1892e Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:16:05 +0200 Subject: [PATCH 01/11] Certify pm-rl on PM SDK 2026.9.26 and enable GitHub issue integration Pin the current CLI SDK, pm-ops, and pm-changelog releases and copy the canonical pm-ops merge-driver launcher required by the new gate. Track the pm-github managed extension manifest without vendoring its installed source. Record the package-local PM work and live acceptance: 329 direct release tests pass, 100/100/100/100 source coverage, 14 linked bandit tests pass, npm and Bun imports of the packed artifact succeed, and repository-scoped GitHub import/sync dry runs plan zero writes. Link upstream pm-cli#1318 for the PM linked-test sandbox limitation. --- .agents/pm/chores/pm-rl-1bpz.toon | 17 +++ .agents/pm/chores/pm-rl-hncb.toon | 25 ++++ .../pm/extensions/.managed-extensions.json | 107 ++++++++++++++++++ .agents/pm/history/pm-rl-1bpz.jsonl | 4 + .agents/pm/history/pm-rl-hncb.jsonl | 10 ++ package-lock.json | 72 ++++++------ package.json | 6 +- scripts/prepare-merge-driver.ts | 13 ++- 8 files changed, 212 insertions(+), 42 deletions(-) create mode 100644 .agents/pm/chores/pm-rl-1bpz.toon create mode 100644 .agents/pm/chores/pm-rl-hncb.toon create mode 100644 .agents/pm/extensions/.managed-extensions.json create mode 100644 .agents/pm/history/pm-rl-1bpz.jsonl create mode 100644 .agents/pm/history/pm-rl-hncb.jsonl diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon new file mode 100644 index 00000000..64e21ee6 --- /dev/null +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -0,0 +1,17 @@ +id: pm-rl-1bpz +title: Enable pm-github issue sync in the pm-rl tracker +description: "Install the published pm-github extension into this repository-owned PM tracker, verify activation, run a repository-scoped GitHub issue dry run, and record the companion rollout link pm-cli-website-377e. No public user data is imported." +type: Chore +status: in_progress +priority: 1 +tags: [] +created_at: "2026-09-26T20:12:06.225Z" +updated_at: "2026-09-26T20:15:35.418Z" +author: codex +acceptance_criteria: Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation. +notes[2]{created_at,author,text}: + "2026-09-26T20:13:07.666Z",codex,"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e." + "2026-09-26T20:15:35.418Z",codex,"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made." +files[1]{path,scope,note}: + .agents/pm/extensions/.managed-extensions.json,project,Managed pm-github extension metadata +body: "" diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon new file mode 100644 index 00000000..c026e62e --- /dev/null +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -0,0 +1,25 @@ +id: pm-rl-hncb +title: Certify pm-rl against PM CLI SDK 2026.9.26 +description: "Upgrade exact development pins for @unbrained/pm-cli, pm-ops and pm-changelog, then certify the recursive-training extension and release pipeline on the installed toolchain. This does not close the durable-controller epic." +type: Chore +status: in_progress +priority: 1 +tags: [] +created_at: "2026-09-26T19:59:42.997Z" +updated_at: "2026-09-26T20:15:34.554Z" +author: codex +acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.26, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations." +parent: pm-rl-apvf +notes[2]{created_at,author,text}: + "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." + "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." +files[3]{path,scope,note}: + package-lock.json,project,Resolved PM toolchain lock + package.json,project,Exact PM toolchain pins + scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.26 launcher +tests[1]{command,path,scope,timeout_seconds,provenance{author,created_at,source_kind,source_ref},note}: + node --test test/bandit.test.ts,test/bandit.test.ts,project,120,codex,"2026-09-26T20:13:30.835Z",local_mutation,chore/pm-rl-cli-sdk-2026-9-26,Bounded recursive training adapter acceptance +docs[2]{path,scope,note}: + "https://github.com/unbraind/pm-cli/issues/1318",project,Linked test sandbox issue + RECURSIVE_TRAINING.md,project,Controller scope remains open +body: "" diff --git a/.agents/pm/extensions/.managed-extensions.json b/.agents/pm/extensions/.managed-extensions.json new file mode 100644 index 00000000..3d2ff66f --- /dev/null +++ b/.agents/pm/extensions/.managed-extensions.json @@ -0,0 +1,107 @@ +{ + "version": 1, + "updated_at": "2026-09-26T20:12:08.474Z", + "entries": [ + { + "name": "pm-github", + "directory": "pm-github", + "scope": "project", + "manifest_version": "2026.9.26", + "manifest_entry": "./dist/index.js", + "capabilities": [ + "commands", + "hooks", + "importers", + "preflight", + "schema", + "search" + ], + "contributions": { + "schema_version": 1, + "commands": [ + "gh-issues import", + "github export", + "github import", + "github project fields", + "github project import", + "github project list", + "github project sync", + "github sync", + "github validate" + ], + "command_overrides": [], + "command_handlers": [ + "gh-issues import", + "github export", + "github import", + "github project fields", + "github project import", + "github project list", + "github project sync", + "github sync", + "github validate" + ], + "hooks": [ + "after_command" + ], + "flag_commands": [ + "gh-issues import", + "github export", + "github import", + "github project fields", + "github project import", + "github project list", + "github project sync", + "github sync", + "github validate" + ], + "item_types": [], + "item_fields": [ + "github_author", + "github_created_at", + "github_number", + "github_state", + "github_updated_at", + "github_url" + ], + "migrations": [], + "profiles": [], + "importers": [ + "github" + ], + "exporters": [ + "github" + ], + "search_providers": [ + "github" + ], + "vector_store_adapters": [], + "parser_overrides": [], + "service_overrides": [], + "renderer_overrides": [], + "preflight_overrides": 1, + "preflight_ownership": [ + { + "commands": [ + "github sync", + "github export", + "github import", + "gh-issues import", + "github project import", + "github project sync" + ] + } + ] + }, + "installed_at": "2026-09-26T20:12:08.355Z", + "updated_at": "2026-09-26T20:12:08.355Z", + "source": { + "kind": "npm", + "input": "npm:pm-github@2026.9.26", + "location": "package", + "package": "pm-github", + "version": "2026.9.26" + } + } + ] +} diff --git a/.agents/pm/history/pm-rl-1bpz.jsonl b/.agents/pm/history/pm-rl-1bpz.jsonl new file mode 100644 index 00000000..2dde0084 --- /dev/null +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -0,0 +1,4 @@ +{"hash_algorithm":"sha256","ts":"2026-09-26T20:12:06.225Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-rl-1bpz"},{"op":"add","path":"/metadata/title","value":"Enable pm-github issue sync in the pm-rl tracker"},{"op":"add","path":"/metadata/description","value":"Install the published pm-github extension into this repository-owned PM tracker, verify activation, run a repository-scoped GitHub issue dry run, and record the companion rollout link pm-cli-website-377e. No public user data is imported."},{"op":"add","path":"/metadata/type","value":"Chore"},{"op":"add","path":"/metadata/status","value":"in_progress"},{"op":"add","path":"/metadata/priority","value":1},{"op":"add","path":"/metadata/tags","value":[]},{"op":"add","path":"/metadata/created_at","value":"2026-09-26T20:12:06.225Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-09-26T20:12:06.225Z"},{"op":"add","path":"/metadata/author","value":"codex"},{"op":"add","path":"/metadata/acceptance_criteria","value":"Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation."}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"1c0936dcf7095270cfbfa137d2f55213cd0b237be876e5419d16ac3afba37436","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":"a5ad4d04393619d5c3e2334b1c375d7938b37359dac2b624180985a94f28e331"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:13:06.758Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:06.758Z"},{"op":"add","path":"/metadata/files","value":[{"path":".agents/pm/extensions/.managed-extensions.json","scope":"project","note":"Managed pm-github extension metadata"}]}],"before_hash":"1c0936dcf7095270cfbfa137d2f55213cd0b237be876e5419d16ac3afba37436","after_hash":"33dffdddf238784b91c0c8557a7c41384cc4fe2029d7b213d811b2dd4ce34552","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":"135a20ae4aa99c5ef59ac796b444c2d959967de00aba7d38176551979e27a01d"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:13:07.666Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:07.666Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-09-26T20:13:07.666Z","author":"codex","text":"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e."}]}],"before_hash":"33dffdddf238784b91c0c8557a7c41384cc4fe2029d7b213d811b2dd4ce34552","after_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","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":"d8ad5fafa691b91ae177e3b0fe41beda32e153f3d951516b64ec9158ea213eca"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:15:35.418Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:35.418Z","author":"codex","text":"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:35.418Z"}],"before_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","after_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","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":"19330bc4f5d74dacd213622d637fbb5cc165bb33421ee2ea73a343290d3d392e"} diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl new file mode 100644 index 00000000..4d9ed529 --- /dev/null +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -0,0 +1,10 @@ +{"hash_algorithm":"sha256","ts":"2026-09-26T19:59:42.997Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-rl-hncb"},{"op":"add","path":"/metadata/title","value":"Certify pm-rl against PM CLI SDK 2026.9.26"},{"op":"add","path":"/metadata/description","value":"Upgrade exact development pins for @unbrained/pm-cli, pm-ops and pm-changelog, then certify the recursive-training extension and release pipeline on the installed toolchain. This does not close the durable-controller epic."},{"op":"add","path":"/metadata/type","value":"Chore"},{"op":"add","path":"/metadata/status","value":"in_progress"},{"op":"add","path":"/metadata/priority","value":1},{"op":"add","path":"/metadata/tags","value":[]},{"op":"add","path":"/metadata/created_at","value":"2026-09-26T19:59:42.997Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-09-26T19:59:42.997Z"},{"op":"add","path":"/metadata/author","value":"codex"},{"op":"add","path":"/metadata/acceptance_criteria","value":"Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.26, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations."},{"op":"add","path":"/metadata/parent","value":"pm-rl-apvf"}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"e8769802e2d797fbecc8d9953115ebc96699f01648b94d724cf861989b718af2","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":"be12165722252b37f8028b4e527cc9834c24f22dfbdd329964f259a39129b68a"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:00:09.670Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:00:09.670Z"},{"op":"add","path":"/metadata/files","value":[{"path":"package-lock.json","scope":"project","note":"Resolved PM toolchain lock"},{"path":"package.json","scope":"project","note":"Exact PM toolchain pins"}]}],"before_hash":"e8769802e2d797fbecc8d9953115ebc96699f01648b94d724cf861989b718af2","after_hash":"f751b370d36a305f7bfbd3b024254153ac8ba439fe0550dc90e0f907db32c478","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":"a622bec4be35ec28d8a64d05496e9cc80271532629e7a61af8e5b9c1ce810a2f"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:00:10.478Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:00:10.478Z"},{"op":"add","path":"/metadata/docs","value":[{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}]}],"before_hash":"f751b370d36a305f7bfbd3b024254153ac8ba439fe0550dc90e0f907db32c478","after_hash":"dab41ee26387ddfc9673302299e2f811e421d83ed0a297c76afd2767df0d0c7d","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":"b3be78afcad96f32d7b971a0fe54cc86bff98d8732c3c2961c44d831ffc95eb3"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:00:11.288Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:00:11.288Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"npm run release:check","path":"package.json","scope":"project","provenance":{"author":"codex","created_at":"2026-09-26T20:00:11.254Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Full local package release gate"}]}],"before_hash":"dab41ee26387ddfc9673302299e2f811e421d83ed0a297c76afd2767df0d0c7d","after_hash":"a44d90ca759c844d6540ecd5d5ba4cdb9da029a6648da0a3a791cdba66380be1","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":"c66dfec877451f3e349984f9b024c2ab565fd9bfef7399c6076ef8541430b7cc"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:06:24.321Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/2","value":{"path":"scripts/prepare-merge-driver.ts","scope":"project","note":"Canonical pm-ops 2026.9.26 launcher"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:06:24.321Z"}],"before_hash":"a44d90ca759c844d6540ecd5d5ba4cdb9da029a6648da0a3a791cdba66380be1","after_hash":"bcd1362ceb73807d91d08bf02dd0e604512a69e8b8f5092cba047ab762fff5b7","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":"e3ddf89e761a912c8a7802575347bdeb37f327a4d32c1a87bc7aaa10f117d8cd"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:06:25.026Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:06:25.026Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-09-26T20:06:25.026Z","author":"codex","text":"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows."}]}],"before_hash":"bcd1362ceb73807d91d08bf02dd0e604512a69e8b8f5092cba047ab762fff5b7","after_hash":"1469724027b67c594f6db13c63b18f5404fe88ee8d6bad2eee12539b35348ccc","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":"bdfca3b3a07a23b0b8bf44cf29d28f28ee90ab2dfd12eef84afd1a57c88ab7cf"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:13:30.032Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_remove","patch":[{"op":"remove","path":"/metadata/tests"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:30.032Z"}],"before_hash":"1469724027b67c594f6db13c63b18f5404fe88ee8d6bad2eee12539b35348ccc","after_hash":"121aef0e1914394cae70831a9a173b884b0a6b0ee8dd269f9cada124b0cfd6e9","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":"c9be004ea8bcfa74faea8b938bd577056278976d7c84711bf24de36bd730e56d"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:13:30.891Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:30.891Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"node --test test/bandit.test.ts","path":"test/bandit.test.ts","scope":"project","timeout_seconds":120,"provenance":{"author":"codex","created_at":"2026-09-26T20:13:30.835Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Bounded recursive training adapter acceptance"}]}],"before_hash":"121aef0e1914394cae70831a9a173b884b0a6b0ee8dd269f9cada124b0cfd6e9","after_hash":"08948fdf97b839e51fd30796bb7efd0945ccff0a5fdf8eb8a014518e759edc6d","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":"a112c1eebebddb13d0baafbba56764df5ca9d01253f6ed13e55c02ca55532abf"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:15:33.662Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:33.662Z","author":"codex","text":"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:33.662Z"}],"before_hash":"08948fdf97b839e51fd30796bb7efd0945ccff0a5fdf8eb8a014518e759edc6d","after_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","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":"cd499caf1a17e47e0a9df26852b7164cdb1299033869dc58950f357183f5aca6"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:15:34.554Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/0/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"add","path":"/metadata/docs/1","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:34.554Z"}],"before_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","after_hash":"4e7cb248d519e4082b7640e4935c73996a181a93ea84faa856773ec8bb9dfce4","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":"2571a8b5b3fbdae7b6b35e5f974bcfc27761a9703cebedad04e9465ec767f9b8"} diff --git a/package-lock.json b/package-lock.json index ebd4f5b7..5cbffa59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,12 +13,12 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.23", + "@unbrained/pm-cli": "2026.9.26", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", - "pm-changelog": "2026.9.23", - "pm-ops": "2026.9.23", + "pm-changelog": "2026.9.25", + "pm-ops": "2026.9.26", "typescript": "^7.0.2" }, "engines": { @@ -722,9 +722,9 @@ } }, "node_modules/@sentry/core": { - "version": "10.75.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.75.0.tgz", - "integrity": "sha512-5wDQpQqjJ6RHdPR+z6Q+47XlwoxRKBv0yyB0LKHqL/1azPOQbR+nllyLmmQDcoJpaksuLSmLA1q6hFX7gjDT2w==", + "version": "10.75.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.75.1.tgz", + "integrity": "sha512-+/+UanewqPK+oJvDQIHWKLUqnsa0iymEThOPCaFBA8ulbQh9k8lsz8V+NtJwP4G3ncclfzp15tzqVwn6iugV4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -735,9 +735,9 @@ } }, "node_modules/@sentry/node": { - "version": "10.75.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-10.75.0.tgz", - "integrity": "sha512-XdYW+SEiscQnuugh1hMldfnHurmleKSTSDqgfro6Y1yd7s0r2csnZ5/SEYxIeL4lSl1QXg1lIA1pBmAXjcdnKA==", + "version": "10.75.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-10.75.1.tgz", + "integrity": "sha512-qiWGwh0KiBoq4vEl0FbxFKw0xnOKxuKCaEVdtwMZLAGw1ef77NOCdie7e/Fmcsk9c++Ck4D8NmIjQm6BidRVSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -745,10 +745,10 @@ "@opentelemetry/instrumentation": "^0.220.0", "@opentelemetry/sdk-trace-base": "^2.9.0", "@sentry/conventions": "^0.16.0", - "@sentry/core": "10.75.0", - "@sentry/node-core": "10.75.0", - "@sentry/opentelemetry": "10.75.0", - "@sentry/server-utils": "10.75.0", + "@sentry/core": "10.75.1", + "@sentry/node-core": "10.75.1", + "@sentry/opentelemetry": "10.75.1", + "@sentry/server-utils": "10.75.1", "import-in-the-middle": "^3.0.0" }, "engines": { @@ -756,15 +756,15 @@ } }, "node_modules/@sentry/node-core": { - "version": "10.75.0", - "resolved": "https://registry.npmjs.org/@sentry/node-core/-/node-core-10.75.0.tgz", - "integrity": "sha512-+E3KSX1oMqhpWQ23hj6NblIVUzLy3T2oceU7DfMX1s1ar+npaQZxR5K0/cMGcQgS1LLm8Jqwqo/lrZlKTCDm5A==", + "version": "10.75.1", + "resolved": "https://registry.npmjs.org/@sentry/node-core/-/node-core-10.75.1.tgz", + "integrity": "sha512-HR0Iy7oNFOP26cwaRi33ZZnvlUSMFzXbZoRgYtBAkqUHDNQA6LWG1N1OoIdKNRJzDkGu/zefbM50Amqgyy1u1Q==", "dev": true, "license": "MIT", "dependencies": { "@sentry/conventions": "^0.16.0", - "@sentry/core": "10.75.0", - "@sentry/opentelemetry": "10.75.0", + "@sentry/core": "10.75.1", + "@sentry/opentelemetry": "10.75.1", "import-in-the-middle": "^3.0.0" }, "engines": { @@ -796,14 +796,14 @@ } }, "node_modules/@sentry/opentelemetry": { - "version": "10.75.0", - "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-10.75.0.tgz", - "integrity": "sha512-reJoMtuHMuaiztoDVoaeitc22eHlTAvz2qpFhibWyzukJlF8oXB+o8EvDN9mmDDMedU89c//cXRcnPBlJvUxcw==", + "version": "10.75.1", + "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-10.75.1.tgz", + "integrity": "sha512-leRKyFkEgV47Qo2wKCMEIYxPgnp67C+wYFg0GPreX5owRde0l18F5BEmsYUU57WAjBKBDo2idrrEEQaU15uH8g==", "dev": true, "license": "MIT", "dependencies": { "@sentry/conventions": "^0.16.0", - "@sentry/core": "10.75.0" + "@sentry/core": "10.75.1" }, "engines": { "node": ">=18" @@ -815,14 +815,14 @@ } }, "node_modules/@sentry/server-utils": { - "version": "10.75.0", - "resolved": "https://registry.npmjs.org/@sentry/server-utils/-/server-utils-10.75.0.tgz", - "integrity": "sha512-7fIa9vFGNzB13hmxl8Sip3xImSkqpc4wETzuQ7CLzVOwPvwI6y/gVEm0pxRhtJSq8SzfOp26eJWl80u8v78Osg==", + "version": "10.75.1", + "resolved": "https://registry.npmjs.org/@sentry/server-utils/-/server-utils-10.75.1.tgz", + "integrity": "sha512-HuA/bCtthA5x/AjYD5WUbG6CBcYJb0WAWKNgrgNkUWtll6eMqG3+7LO4PBcGRbZtlg1OFgClJm4iQFgRN7+ZZg==", "dev": true, "license": "MIT", "dependencies": { "@sentry/conventions": "^0.16.0", - "@sentry/core": "10.75.0" + "@sentry/core": "10.75.1" }, "engines": { "node": ">=18" @@ -1219,13 +1219,13 @@ } }, "node_modules/@unbrained/pm-cli": { - "version": "2026.9.23", - "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.23.tgz", - "integrity": "sha512-tL1u+NDa6UkJyJaJR3j7noqi6byFlQdgWSZsFDG/k6k31LTBCQJNfX42EhgBE8kR100O61DleJSaMCtPq+LT9g==", + "version": "2026.9.26", + "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.26.tgz", + "integrity": "sha512-uO/3ub2SfOwBbpd7rxDNUXDYdVzOdHOGx4spPzmvhfAoJlyfRQI81u73GIkmqjFzMOUXhESHITPteKCQT7tolA==", "dev": true, "license": "MIT", "dependencies": { - "@sentry/node": "10.75.0", + "@sentry/node": "10.75.1", "@toon-format/toon": "^4.1.1", "@types/node": ">=22", "commander": "^15.0.0", @@ -2398,9 +2398,9 @@ } }, "node_modules/pm-changelog": { - "version": "2026.9.23", - "resolved": "https://registry.npmjs.org/pm-changelog/-/pm-changelog-2026.9.23.tgz", - "integrity": "sha512-hrHFbRgz/LyiCBN9ic0I1C//SRL/zjU5fxcyCeCAnM2qTrz14A7f9ayMXeiu/ChDkVFMxfz8Ps2j3TuUG6K1QA==", + "version": "2026.9.25", + "resolved": "https://registry.npmjs.org/pm-changelog/-/pm-changelog-2026.9.25.tgz", + "integrity": "sha512-j2l97jlJIfuMiB7KDi7oIr9MWxdQvqnDx/JwE3pxC31fDw3MywnSmaTcE9/gV6sVlZbQkOSxnxooHzDwRo+1+g==", "dev": true, "license": "MIT", "bin": { @@ -2414,9 +2414,9 @@ } }, "node_modules/pm-ops": { - "version": "2026.9.23", - "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.9.23.tgz", - "integrity": "sha512-FglZHOXjsuG8WWf9Ca90/IX1u4ZCxVTvHpwMaiA0TAWBx/lLalM2Ic12gtWZvm3OAJsMMuXvfRBHWxwYLzESsg==", + "version": "2026.9.26", + "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.9.26.tgz", + "integrity": "sha512-X2z5lGodCa35DNgKLwhaA5kX+oHZjlgwz4lIhBQ7vsbynCPOBODZEMddcARgcH+gatWpLmhtmMcjrnAsyppnMg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0990184f..9a18a983 100644 --- a/package.json +++ b/package.json @@ -110,12 +110,12 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.23", + "@unbrained/pm-cli": "2026.9.26", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", - "pm-changelog": "2026.9.23", - "pm-ops": "2026.9.23", + "pm-changelog": "2026.9.25", + "pm-ops": "2026.9.26", "typescript": "^7.0.2" }, "peerDependencies": { diff --git a/scripts/prepare-merge-driver.ts b/scripts/prepare-merge-driver.ts index 66e512e9..336f1f0b 100644 --- a/scripts/prepare-merge-driver.ts +++ b/scripts/prepare-merge-driver.ts @@ -7,13 +7,15 @@ * therefore imports nothing from pm-ops: it resolves the installer entry from * the package root and runs it in a child process. Only a missing pm-ops package skips, with one * notice; any other resolution failure (for example a pm-ops too old to export - * the entry) and any installer failure fail the install. + * the entry, or a `pm-ops` directory whose package.json is gone) and any + * installer failure fail the install. * * Canonical copy: `pm-ops/templates/prepare-merge-driver.ts`. Copy it * unchanged to `scripts/prepare-merge-driver.ts`. */ import { spawnSync } from "node:child_process"; +import { lstatSync } from "node:fs"; import { createRequire } from "node:module"; import { join } from "node:path"; @@ -26,12 +28,17 @@ try { // Only an absent pm-ops package may skip. Probing its package.json tells that // apart from an installed pm-ops that cannot serve the entry (exports without // it, no exports map, a missing file): those resolve or fail differently, and - // the original error is rethrown. + // the original error is rethrown. A probe that finds no package.json is not + // yet proof of absence: a broken install can leave `node_modules/pm-ops` (a + // directory or a dangling link) with no package.json, which fails the probe + // the same way, so an entry there also counts as present. let packagePresent = true; try { resolver.resolve("pm-ops/package.json"); } catch (probe) { - packagePresent = !(probe instanceof Error && "code" in probe && probe.code === "MODULE_NOT_FOUND"); + packagePresent = + !(probe instanceof Error && "code" in probe && probe.code === "MODULE_NOT_FOUND") || + lstatSync(join(process.cwd(), "node_modules", "pm-ops"), { throwIfNoEntry: false }) !== undefined; } if (packagePresent) throw error; } From dd20d305688dd2c1a7e9939290df36fab7657416 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:16:58 +0200 Subject: [PATCH 02/11] Link pm-rl SDK and GitHub integration items to PR 54 Keep package-owned acceptance and review gates discoverable from both PM items without closing either before exact-head verification. --- .agents/pm/chores/pm-rl-1bpz.toon | 5 +++-- .agents/pm/chores/pm-rl-hncb.toon | 5 +++-- .agents/pm/history/pm-rl-1bpz.jsonl | 1 + .agents/pm/history/pm-rl-hncb.jsonl | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon index 64e21ee6..b2e17a20 100644 --- a/.agents/pm/chores/pm-rl-1bpz.toon +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -6,12 +6,13 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T20:12:06.225Z" -updated_at: "2026-09-26T20:15:35.418Z" +updated_at: "2026-09-26T20:16:51.178Z" author: codex acceptance_criteria: Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation. -notes[2]{created_at,author,text}: +notes[3]{created_at,author,text}: "2026-09-26T20:13:07.666Z",codex,"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e." "2026-09-26T20:15:35.418Z",codex,"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made." + "2026-09-26T20:16:51.178Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues." files[1]{path,scope,note}: .agents/pm/extensions/.managed-extensions.json,project,Managed pm-github extension metadata body: "" diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index c026e62e..fb3dc0e0 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,13 +6,14 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-26T20:15:34.554Z" +updated_at: "2026-09-26T20:16:50.259Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.26, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations." parent: pm-rl-apvf -notes[2]{created_at,author,text}: +notes[3]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." + "2026-09-26T20:16:50.259Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate." files[3]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins diff --git a/.agents/pm/history/pm-rl-1bpz.jsonl b/.agents/pm/history/pm-rl-1bpz.jsonl index 2dde0084..5254fcf9 100644 --- a/.agents/pm/history/pm-rl-1bpz.jsonl +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -2,3 +2,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:13:06.758Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:06.758Z"},{"op":"add","path":"/metadata/files","value":[{"path":".agents/pm/extensions/.managed-extensions.json","scope":"project","note":"Managed pm-github extension metadata"}]}],"before_hash":"1c0936dcf7095270cfbfa137d2f55213cd0b237be876e5419d16ac3afba37436","after_hash":"33dffdddf238784b91c0c8557a7c41384cc4fe2029d7b213d811b2dd4ce34552","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":"135a20ae4aa99c5ef59ac796b444c2d959967de00aba7d38176551979e27a01d"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:13:07.666Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:07.666Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-09-26T20:13:07.666Z","author":"codex","text":"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e."}]}],"before_hash":"33dffdddf238784b91c0c8557a7c41384cc4fe2029d7b213d811b2dd4ce34552","after_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","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":"d8ad5fafa691b91ae177e3b0fe41beda32e153f3d951516b64ec9158ea213eca"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:35.418Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:35.418Z","author":"codex","text":"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:35.418Z"}],"before_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","after_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","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":"19330bc4f5d74dacd213622d637fbb5cc165bb33421ee2ea73a343290d3d392e"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:16:51.178Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:51.178Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:51.178Z"}],"before_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","after_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","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":"9e68c595161e852dea11ef119ea6a6d723bfec9e0dcc812543d81ecb68c7235f"} diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 4d9ed529..8e86b91d 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -8,3 +8,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:13:30.891Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:30.891Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"node --test test/bandit.test.ts","path":"test/bandit.test.ts","scope":"project","timeout_seconds":120,"provenance":{"author":"codex","created_at":"2026-09-26T20:13:30.835Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Bounded recursive training adapter acceptance"}]}],"before_hash":"121aef0e1914394cae70831a9a173b884b0a6b0ee8dd269f9cada124b0cfd6e9","after_hash":"08948fdf97b839e51fd30796bb7efd0945ccff0a5fdf8eb8a014518e759edc6d","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":"a112c1eebebddb13d0baafbba56764df5ca9d01253f6ed13e55c02ca55532abf"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:33.662Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:33.662Z","author":"codex","text":"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:33.662Z"}],"before_hash":"08948fdf97b839e51fd30796bb7efd0945ccff0a5fdf8eb8a014518e759edc6d","after_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","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":"cd499caf1a17e47e0a9df26852b7164cdb1299033869dc58950f357183f5aca6"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:34.554Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/0/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"add","path":"/metadata/docs/1","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:34.554Z"}],"before_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","after_hash":"4e7cb248d519e4082b7640e4935c73996a181a93ea84faa856773ec8bb9dfce4","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":"2571a8b5b3fbdae7b6b35e5f974bcfc27761a9703cebedad04e9465ec767f9b8"} +{"hash_algorithm":"sha256","ts":"2026-09-26T20:16:50.259Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:50.259Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:50.259Z"}],"before_hash":"4e7cb248d519e4082b7640e4935c73996a181a93ea84faa856773ec8bb9dfce4","after_hash":"93abd93cbdde68889cae01a47cf46c096690a9b97b694d613da67035d3177123","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":"a0ab5aa1a63699831e3993de82a0fc02aec41c6858de95e9bdf3339cef84468f"} From 29e11d7a5e203fe5c24bd47ffaeca01e4cbd6551 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Mon, 28 Sep 2026 08:20:07 +0200 Subject: [PATCH 03/11] Pin pm-ops 2026.9.28 and re-copy its merge-driver launcher pm-ops 2026.9.28 (pm-ops#124) fixes the guarded launcher's omit-dev skip: it now checks every directory Node resolves pm-ops from, so a hoisted pm-ops with no package.json fails the prepare step instead of being read as an omit-dev install that silently skips the field-aware merge drivers. scripts/prepare-merge-driver.ts is the published template byte for byte, as test/prepare-merge-driver.test.ts requires. Tracker: pm-rl-1bpz (comment with evidence). release:check and changelog:check pass. --- .agents/pm/chores/pm-rl-1bpz.toon | 4 +++- .agents/pm/history/pm-rl-1bpz.jsonl | 1 + package-lock.json | 8 ++++---- package.json | 2 +- scripts/prepare-merge-driver.ts | 9 ++++++--- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon index b2e17a20..6eb93e4f 100644 --- a/.agents/pm/chores/pm-rl-1bpz.toon +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -6,9 +6,11 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T20:12:06.225Z" -updated_at: "2026-09-26T20:16:51.178Z" +updated_at: "2026-09-28T06:20:04.289Z" author: codex acceptance_criteria: Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation. +comments[1]{created_at,author,text}: + "2026-09-28T06:20:04.289Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch." notes[3]{created_at,author,text}: "2026-09-26T20:13:07.666Z",codex,"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e." "2026-09-26T20:15:35.418Z",codex,"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made." diff --git a/.agents/pm/history/pm-rl-1bpz.jsonl b/.agents/pm/history/pm-rl-1bpz.jsonl index 5254fcf9..10057a1f 100644 --- a/.agents/pm/history/pm-rl-1bpz.jsonl +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -3,3 +3,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:13:07.666Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:13:07.666Z"},{"op":"add","path":"/metadata/notes","value":[{"created_at":"2026-09-26T20:13:07.666Z","author":"codex","text":"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e."}]}],"before_hash":"33dffdddf238784b91c0c8557a7c41384cc4fe2029d7b213d811b2dd4ce34552","after_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","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":"d8ad5fafa691b91ae177e3b0fe41beda32e153f3d951516b64ec9158ea213eca"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:35.418Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:35.418Z","author":"codex","text":"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:35.418Z"}],"before_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","after_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","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":"19330bc4f5d74dacd213622d637fbb5cc165bb33421ee2ea73a343290d3d392e"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:16:51.178Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:51.178Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:51.178Z"}],"before_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","after_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","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":"9e68c595161e852dea11ef119ea6a6d723bfec9e0dcc812543d81ecb68c7235f"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:20:04.289Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:20:04.289Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-09-28T06:20:04.289Z","author":"claude-hub","text":"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch."}]}],"before_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","after_hash":"a88b7b258b2aa547a16fcf8a35307582a4a5692a570613d2f422876796282674","item_hash_version":3,"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":"a303d7aa2f37339f84884c3ef7d7c16526222a05192759c5c637fd2487572819"} diff --git a/package-lock.json b/package-lock.json index 5cbffa59..5fd01085 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "jiti": "^2.7.0", "jscpd": "^5.3.0", "pm-changelog": "2026.9.25", - "pm-ops": "2026.9.26", + "pm-ops": "2026.9.28", "typescript": "^7.0.2" }, "engines": { @@ -2414,9 +2414,9 @@ } }, "node_modules/pm-ops": { - "version": "2026.9.26", - "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.9.26.tgz", - "integrity": "sha512-X2z5lGodCa35DNgKLwhaA5kX+oHZjlgwz4lIhBQ7vsbynCPOBODZEMddcARgcH+gatWpLmhtmMcjrnAsyppnMg==", + "version": "2026.9.28", + "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.9.28.tgz", + "integrity": "sha512-MjsVk6uGYz8X3OxVuBHuBUEjcoUb3ubqSCG/hWvYOlj8AI8gbc3IPsIUGfDECH6WYP63B8hYjvc6Ahv3DdbIyQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 9a18a983..5317c98b 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "jiti": "^2.7.0", "jscpd": "^5.3.0", "pm-changelog": "2026.9.25", - "pm-ops": "2026.9.26", + "pm-ops": "2026.9.28", "typescript": "^7.0.2" }, "peerDependencies": { diff --git a/scripts/prepare-merge-driver.ts b/scripts/prepare-merge-driver.ts index 336f1f0b..728ece4a 100644 --- a/scripts/prepare-merge-driver.ts +++ b/scripts/prepare-merge-driver.ts @@ -30,15 +30,18 @@ try { // it, no exports map, a missing file): those resolve or fail differently, and // the original error is rethrown. A probe that finds no package.json is not // yet proof of absence: a broken install can leave `node_modules/pm-ops` (a - // directory or a dangling link) with no package.json, which fails the probe - // the same way, so an entry there also counts as present. + // directory or a dangling link) with no package.json in any ancestor Node + // searches. Such an entry also counts as present. Node returns null paths + // only for built-in modules; pm-ops/package.json is a package specifier. let packagePresent = true; try { resolver.resolve("pm-ops/package.json"); } catch (probe) { packagePresent = !(probe instanceof Error && "code" in probe && probe.code === "MODULE_NOT_FOUND") || - lstatSync(join(process.cwd(), "node_modules", "pm-ops"), { throwIfNoEntry: false }) !== undefined; + resolver.resolve.paths("pm-ops/package.json")!.some( + (directory) => lstatSync(join(directory, "pm-ops"), { throwIfNoEntry: false }) !== undefined, + ); } if (packagePresent) throw error; } From ddfc820a256e3163818f33aae3da9860659f19c4 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Mon, 28 Sep 2026 08:51:43 +0200 Subject: [PATCH 04/11] Record the pm-ops 2026.9.28 launcher evidence on the certification chore, not the sync chore 29e11d7's tracker comment landed on pm-rl-1bpz (pm-github issue sync) because the commit step took the first item changed on the branch. It is removed there with a history message and recorded on pm-rl-hncb, the certification chore. pm-rl-hncb's acceptance criteria and its launcher link note now name pm-ops 2026.9.28, as CodeRabbit asked; the dated 2026.9.26 notes stay as history. --- .agents/pm/chores/pm-rl-1bpz.toon | 4 +--- .agents/pm/chores/pm-rl-hncb.toon | 8 +++++--- .agents/pm/history/pm-rl-1bpz.jsonl | 1 + .agents/pm/history/pm-rl-hncb.jsonl | 4 ++++ 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon index 6eb93e4f..c62cf4a4 100644 --- a/.agents/pm/chores/pm-rl-1bpz.toon +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -6,11 +6,9 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T20:12:06.225Z" -updated_at: "2026-09-28T06:20:04.289Z" +updated_at: "2026-09-28T06:51:00.174Z" author: codex acceptance_criteria: Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation. -comments[1]{created_at,author,text}: - "2026-09-28T06:20:04.289Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch." notes[3]{created_at,author,text}: "2026-09-26T20:13:07.666Z",codex,"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e." "2026-09-26T20:15:35.418Z",codex,"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made." diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index fb3dc0e0..9aaa673f 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,10 +6,12 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-26T20:16:50.259Z" +updated_at: "2026-09-28T06:51:22.103Z" author: codex -acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.26, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations." +acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.28, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations." parent: pm-rl-apvf +comments[1]{created_at,author,text}: + "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." notes[3]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." @@ -17,7 +19,7 @@ notes[3]{created_at,author,text}: files[3]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins - scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.26 launcher + scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.28 launcher tests[1]{command,path,scope,timeout_seconds,provenance{author,created_at,source_kind,source_ref},note}: node --test test/bandit.test.ts,test/bandit.test.ts,project,120,codex,"2026-09-26T20:13:30.835Z",local_mutation,chore/pm-rl-cli-sdk-2026-9-26,Bounded recursive training adapter acceptance docs[2]{path,scope,note}: diff --git a/.agents/pm/history/pm-rl-1bpz.jsonl b/.agents/pm/history/pm-rl-1bpz.jsonl index 10057a1f..ae2e9c54 100644 --- a/.agents/pm/history/pm-rl-1bpz.jsonl +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -4,3 +4,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:35.418Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:35.418Z","author":"codex","text":"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:35.418Z"}],"before_hash":"967040eb376d86c4e5f128bad0e90b38b63ddffae671d27e16d493e5361a99f4","after_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","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":"19330bc4f5d74dacd213622d637fbb5cc165bb33421ee2ea73a343290d3d392e"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:16:51.178Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:51.178Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:51.178Z"}],"before_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","after_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","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":"9e68c595161e852dea11ef119ea6a6d723bfec9e0dcc812543d81ecb68c7235f"} {"hash_algorithm":"sha256","ts":"2026-09-28T06:20:04.289Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:20:04.289Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-09-28T06:20:04.289Z","author":"claude-hub","text":"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch."}]}],"before_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","after_hash":"a88b7b258b2aa547a16fcf8a35307582a4a5692a570613d2f422876796282674","item_hash_version":3,"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":"a303d7aa2f37339f84884c3ef7d7c16526222a05192759c5c637fd2487572819"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:51:00.174Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_delete","patch":[{"op":"remove","path":"/metadata/comments"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:00.174Z"}],"before_hash":"a88b7b258b2aa547a16fcf8a35307582a4a5692a570613d2f422876796282674","after_hash":"d24a6dc3a5040301521baad61b7c482a8bfc92a3a134da64d5e9d5737753f27a","item_hash_version":3,"message":"Misplaced: this pm-ops 2026.9.28 launcher evidence belongs to the certification chore pm-rl-hncb, where it is now recorded","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":"c26bfeeef4e1f17813b1bf57eea9e4420450bc12372f703c2017f1761aa68fb8"} diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 8e86b91d..d0dd9b26 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -9,3 +9,7 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:33.662Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/1","value":{"created_at":"2026-09-26T20:15:33.662Z","author":"codex","text":"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:33.662Z"}],"before_hash":"08948fdf97b839e51fd30796bb7efd0945ccff0a5fdf8eb8a014518e759edc6d","after_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","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":"cd499caf1a17e47e0a9df26852b7164cdb1299033869dc58950f357183f5aca6"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:15:34.554Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/0/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"add","path":"/metadata/docs/1","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:15:34.554Z"}],"before_hash":"36e7be4286c0f7da4c6114b98ae685a4e68931e42df5ec1b60927a674c9e54fd","after_hash":"4e7cb248d519e4082b7640e4935c73996a181a93ea84faa856773ec8bb9dfce4","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":"2571a8b5b3fbdae7b6b35e5f974bcfc27761a9703cebedad04e9465ec767f9b8"} {"hash_algorithm":"sha256","ts":"2026-09-26T20:16:50.259Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:50.259Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:50.259Z"}],"before_hash":"4e7cb248d519e4082b7640e4935c73996a181a93ea84faa856773ec8bb9dfce4","after_hash":"93abd93cbdde68889cae01a47cf46c096690a9b97b694d613da67035d3177123","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":"a0ab5aa1a63699831e3993de82a0fc02aec41c6858de95e9bdf3339cef84468f"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:51:05.996Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:05.996Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-09-28T06:51:05.996Z","author":"claude-hub","text":"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results."}]}],"before_hash":"93abd93cbdde68889cae01a47cf46c096690a9b97b694d613da67035d3177123","after_hash":"ceca22d07fee22a3df67c361d6a33d4ff76cae6f46b4b297beed84aeec405267","item_hash_version":3,"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":"e4121d29635c9857665cdf513a3f38806e1a6c83534f487f58dedb95fba5e292"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:51:14.584Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/acceptance_criteria","value":"Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.28, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations."},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:14.584Z"}],"before_hash":"ceca22d07fee22a3df67c361d6a33d4ff76cae6f46b4b297beed84aeec405267","after_hash":"6c83fbc455bb6f1ef40ba6b86a97dc475e56fd5e774be5db21d4b603c913c954","item_hash_version":3,"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":"21922e5d9ed5180880f7a0169a1c4ef285e47229fc3078882ab09e632519d6f0"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:51:18.210Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"files_add","patch":[{"op":"remove","path":"/metadata/files/2"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:18.210Z"}],"before_hash":"6c83fbc455bb6f1ef40ba6b86a97dc475e56fd5e774be5db21d4b603c913c954","after_hash":"ae0204a2d50541f8e9028aa91cdee082299f813d4c9d97078d18a9f8ad7058f9","item_hash_version":3,"message":"Replace the launcher note: the copy is now pm-ops 2026.9.28","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":"maintenance","record_hash_version":1,"record_hash":"f950ce3c01737b00d667a698521a17e16b23f2c50ed86d97cb3fd64e0eb0ff70"} +{"hash_algorithm":"sha256","ts":"2026-09-28T06:51:22.103Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/2","value":{"path":"scripts/prepare-merge-driver.ts","scope":"project","note":"Canonical pm-ops 2026.9.28 launcher"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:22.103Z"}],"before_hash":"ae0204a2d50541f8e9028aa91cdee082299f813d4c9d97078d18a9f8ad7058f9","after_hash":"cbc4e13c20e7ec74ee8a8b68cb6b1b34bd2e9786f0924f5c9141d1bbcea0decb","item_hash_version":3,"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":"maintenance","record_hash_version":1,"record_hash":"340298a28ea0644ba4b7f7c107f601edb7afa4cfab62eb3df18b2b5ee695bac0"} From df2dcbc81138dc6ad2232963c0f1e5f7009ffdea Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Mon, 28 Sep 2026 21:57:37 +0200 Subject: [PATCH 05/11] Certify pm-rl on PM SDK 2026.9.28 with packed host acceptance Pin the installed development CLI and SDK to the published 2026.9.28 release so the managed pm-github extension passes strict host-version checks. Replace the one-use integration fixture that installed the entire source tree with a real npm tarball install; the newer CLI correctly refuses incomplete directory scans. Record red-first PM evidence, a snapshot-linked acceptance test, complete 329-test release gate, 100% measured coverage dimensions, and fresh npm/Node plus Bun imports. Keep recursive controller and review gates open. --- .agents/pm/chores/pm-rl-hncb.toon | 43 +++++++++++++++++++++++------ .agents/pm/history/pm-rl-hncb.jsonl | 9 ++++++ package-lock.json | 8 +++--- package.json | 2 +- test/index.test.ts | 24 ++++++++-------- 5 files changed, 61 insertions(+), 25 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index 9aaa673f..ecbf463f 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -1,28 +1,53 @@ id: pm-rl-hncb -title: Certify pm-rl against PM CLI SDK 2026.9.26 -description: "Upgrade exact development pins for @unbrained/pm-cli, pm-ops and pm-changelog, then certify the recursive-training extension and release pipeline on the installed toolchain. This does not close the durable-controller epic." +title: Certify pm-rl against PM CLI SDK 2026.9.28 +description: "Upgrade the candidate development CLI and SDK to published 2026.9.28 to match the active pm-github extension SDK; retain published pm-ops 2026.9.28 and pm-changelog 2026.9.25. Certify direct release gates, packed npm/Bun behavior, and strict tracker health. Companion rollout: pm-cli-website-377e." type: Chore status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-28T06:51:22.103Z" +updated_at: "2026-09-28T19:57:12.474Z" author: codex -acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.28, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations." +acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.28, pm-ops 2026.9.28, pm-changelog 2026.9.25; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records independent review and recursive-training limitations." parent: pm-rl-apvf comments[1]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." -notes[3]{created_at,author,text}: +notes[5]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." "2026-09-26T20:16:50.259Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate." -files[3]{path,scope,note}: + "2026-09-28T19:51:00.569Z","harness:codex","2026-09-28 red-first CLI 2026.9.28 gate: one real host-bound test failed because pm install pointed at the whole checkout and the current CLI refused an incomplete 10000-entry source scan. Replaced that one-use fixture with npm pack archive installation through pm package install. Focused compiled test passed 1/1. The CLI refusal is expected upstream behavior; this is a package test correction." + "2026-09-28T19:57:12.452Z","harness:codex","2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews." +files[4]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.28 launcher -tests[1]{command,path,scope,timeout_seconds,provenance{author,created_at,source_kind,source_ref},note}: - node --test test/bandit.test.ts,test/bandit.test.ts,project,120,codex,"2026-09-26T20:13:30.835Z",local_mutation,chore/pm-rl-cli-sdk-2026-9-26,Bounded recursive training adapter acceptance -docs[2]{path,scope,note}: + test/index.test.ts,project,Packed extension host-bound mutation acceptance +tests[2]: + - command: node --test test/bandit.test.ts + path: test/bandit.test.ts + scope: project + timeout_seconds: 120 + provenance: + author: codex + created_at: "2026-09-26T20:13:30.835Z" + source_kind: local_mutation + source_ref: chore/pm-rl-cli-sdk-2026-9-26 + note: Bounded recursive training adapter acceptance + - command: "node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts" + path: test/index.test.ts + scope: project + timeout_seconds: 120 + pm_context_mode: none + workspace_context_mode: snapshot + provenance: + author: "harness:codex" + created_at: "2026-09-28T19:56:55.002Z" + source_kind: local_mutation + source_ref: chore/pm-rl-cli-sdk-2026-9-26 + note: Packed extension host-bound mutation acceptance on the installed CLI +docs[3]{path,scope,note}: + "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28",global,Published CLI and SDK used by this candidate "https://github.com/unbraind/pm-cli/issues/1318",project,Linked test sandbox issue RECURSIVE_TRAINING.md,project,Controller scope remains open body: "" diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index d0dd9b26..d3724f3f 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -13,3 +13,12 @@ {"hash_algorithm":"sha256","ts":"2026-09-28T06:51:14.584Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":{"value":"implementer","source":"argv"},"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"update","patch":[{"op":"replace","path":"/metadata/acceptance_criteria","value":"Package and lockfile pin published PM CLI 2026.9.26, pm-ops 2026.9.28, pm-changelog 2026.9.25; full release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records review limitations."},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:14.584Z"}],"before_hash":"ceca22d07fee22a3df67c361d6a33d4ff76cae6f46b4b297beed84aeec405267","after_hash":"6c83fbc455bb6f1ef40ba6b86a97dc475e56fd5e774be5db21d4b603c913c954","item_hash_version":3,"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":"21922e5d9ed5180880f7a0169a1c4ef285e47229fc3078882ab09e632519d6f0"} {"hash_algorithm":"sha256","ts":"2026-09-28T06:51:18.210Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"files_add","patch":[{"op":"remove","path":"/metadata/files/2"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:18.210Z"}],"before_hash":"6c83fbc455bb6f1ef40ba6b86a97dc475e56fd5e774be5db21d4b603c913c954","after_hash":"ae0204a2d50541f8e9028aa91cdee082299f813d4c9d97078d18a9f8ad7058f9","item_hash_version":3,"message":"Replace the launcher note: the copy is now pm-ops 2026.9.28","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":"maintenance","record_hash_version":1,"record_hash":"f950ce3c01737b00d667a698521a17e16b23f2c50ed86d97cb3fd64e0eb0ff70"} {"hash_algorithm":"sha256","ts":"2026-09-28T06:51:22.103Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/2","value":{"path":"scripts/prepare-merge-driver.ts","scope":"project","note":"Canonical pm-ops 2026.9.28 launcher"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:22.103Z"}],"before_hash":"ae0204a2d50541f8e9028aa91cdee082299f813d4c9d97078d18a9f8ad7058f9","after_hash":"cbc4e13c20e7ec74ee8a8b68cb6b1b34bd2e9786f0924f5c9141d1bbcea0decb","item_hash_version":3,"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":"maintenance","record_hash_version":1,"record_hash":"340298a28ea0644ba4b7f7c107f601edb7afa4cfab62eb3df18b2b5ee695bac0"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:46:50.811Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/acceptance_criteria","value":"Package and lockfile pin published PM CLI 2026.9.28, pm-ops 2026.9.28, pm-changelog 2026.9.25; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records independent review and recursive-training limitations."},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:46:50.811Z"},{"op":"replace","path":"/metadata/description","value":"Upgrade the candidate development CLI and SDK to published 2026.9.28 to match the active pm-github extension SDK; retain published pm-ops 2026.9.28 and pm-changelog 2026.9.25. Certify direct release gates, packed npm/Bun behavior, and strict tracker health. Companion rollout: pm-cli-website-377e."},{"op":"replace","path":"/metadata/title","value":"Certify pm-rl against PM CLI SDK 2026.9.28"}],"before_hash":"cbc4e13c20e7ec74ee8a8b68cb6b1b34bd2e9786f0924f5c9141d1bbcea0decb","after_hash":"da2a94fc69950a2e01d9c8ec62961dc100b82c1aea1305ff07420240eeab58d6","item_hash_version":3,"message":"Align candidate CLI SDK with the active pm-github extension SDK","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":"1663810500bb06e1195773839859c10ecafe642672c7efa71f4203c37e282041"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:51:00.610Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=a referenced environment is refused test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"provenance":{"author":"harness:codex","created_at":"2026-09-28T19:51:00.569Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"}}},{"op":"add","path":"/metadata/files/3","value":{"path":"test/index.test.ts","scope":"project","note":"Packed extension host-bound mutation acceptance"}},{"op":"add","path":"/metadata/notes/3","value":{"created_at":"2026-09-28T19:51:00.569Z","author":"harness:codex","text":"2026-09-28 red-first CLI 2026.9.28 gate: one real host-bound test failed because pm install pointed at the whole checkout and the current CLI refused an incomplete 10000-entry source scan. Replaced that one-use fixture with npm pack archive installation through pm package install. Focused compiled test passed 1/1. The CLI refusal is expected upstream behavior; this is a package test correction."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:51:00.610Z"}],"before_hash":"da2a94fc69950a2e01d9c8ec62961dc100b82c1aea1305ff07420240eeab58d6","after_hash":"a84af2728f382032ad20a740af1bf1aaa8a1886cf9e02c9525dca5c3c137c2c3","item_hash_version":3,"message":"Record red-first packed-install compatibility fix on CLI 2026.9.28","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":"15c41ad8e970ac47b971d29bfbeda96df8912bf115ed55705143d435f7ed1cf2"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:20.388Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_remove","patch":[{"op":"remove","path":"/metadata/tests/1"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:20.388Z"}],"before_hash":"a84af2728f382032ad20a740af1bf1aaa8a1886cf9e02c9525dca5c3c137c2c3","after_hash":"db406ca6e0db9ae51077b005fee6d9b99c8d7adf9aa56e0aeadeb05028d96f3c","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":"f8aa6ff113ed74702361dc1352d41675f36de7c187c0e94eaed1da66d6299e86"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:21.261Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"none","provenance":{"author":"harness:codex","created_at":"2026-09-28T19:56:21.190Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Packed extension host-bound mutation acceptance on the installed CLI"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:21.261Z"}],"before_hash":"db406ca6e0db9ae51077b005fee6d9b99c8d7adf9aa56e0aeadeb05028d96f3c","after_hash":"f303f4f86203fde1b3e50e35aa3bd93e174b2918ec32b935bc2c713e5dfc96bb","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":"735c8ea50d8eff7de3cd0c4c9d5da3e048bd0971fdc49f7ecb6e61ce53ab13f6"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:39.445Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_remove","patch":[{"op":"remove","path":"/metadata/tests/1"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:39.445Z"}],"before_hash":"f303f4f86203fde1b3e50e35aa3bd93e174b2918ec32b935bc2c713e5dfc96bb","after_hash":"cb3d7ef549939b4bbf02e0339fdd9d437f0e590fd45366c90d23d0497b9b083e","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":"c80a719911c58f8aa5e2731da103e8d22b0e94565813f7b7ba6cd2f42bf839c2"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:40.218Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"none","workspace_context_mode":"isolated","provenance":{"author":"harness:codex","created_at":"2026-09-28T19:56:40.190Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Packed extension host-bound mutation acceptance on the installed CLI"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:40.218Z"}],"before_hash":"cb3d7ef549939b4bbf02e0339fdd9d437f0e590fd45366c90d23d0497b9b083e","after_hash":"773a513a88a3bdaee4467f3e7a83b70a3130f0f04191b23e781ae1f7c3a58603","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":"aa05da2bcb181f18caf5728915d9d91865528d9a31ef56fb6748b24744bea6b8"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:54.338Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_remove","patch":[{"op":"remove","path":"/metadata/tests/1"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:54.338Z"}],"before_hash":"773a513a88a3bdaee4467f3e7a83b70a3130f0f04191b23e781ae1f7c3a58603","after_hash":"6c5e169a9522f3cb4f65dfee5227a5f6810ba2e3f10caf6fe86d824a6bbe15fc","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":"99cf36fa559ba27324438f575211296bb68e227498b7fa02011c06f1bafc3178"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:56:55.037Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"none","workspace_context_mode":"snapshot","provenance":{"author":"harness:codex","created_at":"2026-09-28T19:56:55.002Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Packed extension host-bound mutation acceptance on the installed CLI"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:55.037Z"}],"before_hash":"6c5e169a9522f3cb4f65dfee5227a5f6810ba2e3f10caf6fe86d824a6bbe15fc","after_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","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":"bbdd443e0b307f4414df86439274a0d8296c3d433d64a2b91a8ea2850cf577fc"} +{"hash_algorithm":"sha256","ts":"2026-09-28T19:57:12.474Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/docs/1/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI and SDK used by this candidate"},{"op":"replace","path":"/metadata/docs/0/scope","value":"global"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28"},{"op":"add","path":"/metadata/docs/2","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"add","path":"/metadata/notes/4","value":{"created_at":"2026-09-28T19:57:12.452Z","author":"harness:codex","text":"2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:57:12.474Z"}],"before_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","after_hash":"016cb9f801b179397baaa6dd17b4b13dadf3589dcf511662bef2cc4fcc8c9b30","item_hash_version":3,"message":"Record exact CLI 2026.9.28 release and packed acceptance evidence","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":"a2daeef93a8df6baca1238465a7ee1c765861711b53fe3f6e74f65c989d91b1e"} diff --git a/package-lock.json b/package-lock.json index 5fd01085..bd2518ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.26", + "@unbrained/pm-cli": "2026.9.28", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", @@ -1219,9 +1219,9 @@ } }, "node_modules/@unbrained/pm-cli": { - "version": "2026.9.26", - "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.26.tgz", - "integrity": "sha512-uO/3ub2SfOwBbpd7rxDNUXDYdVzOdHOGx4spPzmvhfAoJlyfRQI81u73GIkmqjFzMOUXhESHITPteKCQT7tolA==", + "version": "2026.9.28", + "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.28.tgz", + "integrity": "sha512-bbyq/FIKMUxnGKJTieG3AVL96tS4l9JUuTgzgAiZTqI7lYyLXytmQFVD1a+2neVQT9+6sVNF8ko2u7DcqztxjQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 5317c98b..a49af00a 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.26", + "@unbrained/pm-cli": "2026.9.28", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", diff --git a/test/index.test.ts b/test/index.test.ts index 38b8991e..2c1e551e 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -62,16 +62,6 @@ async function workspace(): Promise<{ return { root, pmRoot: initialized.path, harness }; } -/** Install the built package into a real temporary tracker for host-bound mutation tests. */ -async function installedWorkspace(): ReturnType { - const fixture = await workspace(); - execFileSync(join(process.cwd(), "node_modules", ".bin", "pm"), ["install", process.cwd(), "--project", "--json"], { - cwd: fixture.root, - encoding: "utf8", - }); - return fixture; -} - /** Extract a successful structured command result. */ function resultOf(run: { result?: unknown; handled: boolean }): RlCommandResult { assert.equal(run.handled, true, JSON.stringify(run)); @@ -252,7 +242,19 @@ test("a changed reward specification registers as a new version rather than over }); test("a referenced environment is refused at the write boundary by the command, SDK, and direct core routes", async () => { - const { root, pmRoot, harness } = await installedWorkspace(); + const { root, pmRoot, harness } = await workspace(); + // Exercise the shipped archive. The CLI refuses a source-directory install + // once dependency trees make its bounded scan incomplete. + const archive = execFileSync(process.platform === "win32" ? "npm.cmd" : "npm", ["pack", "--ignore-scripts", "--silent", "--pack-destination", root], { + cwd: process.cwd(), + encoding: "utf8", + shell: process.platform === "win32", + }).trim(); + assert.match(archive, /^pm-rl-.*\.tgz$/); + execFileSync(join(process.cwd(), "node_modules", ".bin", "pm"), ["package", "install", join(root, archive), "--project", "--json"], { + cwd: root, + encoding: "utf8", + }); const environmentFile = join(root, "environment.json"); writeFileSync(environmentFile, JSON.stringify(SPEC)); const environment = resultOf(await harness.runCommand({ command: "rl env register", pmRoot, options: { file: environmentFile } })); From 29c82426827efd07f7a0924387cf71502f0189b3 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Mon, 28 Sep 2026 22:13:19 +0200 Subject: [PATCH 06/11] Make pm-rl pack acceptance portable across Node 22 and fresh checkouts Read the npm tarball name from the final pack output line because npm 10 emits prepare output before it. Verify the host-bound test and complete 329-test release gate under Node 22, then install the exact packed artifact under npm/Node and Bun. Document how a fresh clone restores the ignored pm-github extension from its pinned published package and previews issue sync before privacy review. Correct the minimum CLI and four-dimension coverage documentation, with package-owned PM evidence for both review findings. --- .agents/pm/chores/pm-rl-1bpz.toon | 8 +++++--- .agents/pm/chores/pm-rl-hncb.toon | 8 +++++--- .agents/pm/history/pm-rl-1bpz.jsonl | 1 + .agents/pm/history/pm-rl-hncb.jsonl | 1 + README.md | 15 +++++++++++++-- test/index.test.ts | 8 +++++--- 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon index c62cf4a4..ff7edc22 100644 --- a/.agents/pm/chores/pm-rl-1bpz.toon +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -6,13 +6,15 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T20:12:06.225Z" -updated_at: "2026-09-28T06:51:00.174Z" +updated_at: "2026-09-28T20:07:04.497Z" author: codex acceptance_criteria: Managed extension manifest tracks pm-github without vendored source; pm github sync dry run targets unbraind/pm-rl and repeats idempotently; strict tracker health remains ok; any GitHub import is checked for duplicate provenance before mutation. -notes[3]{created_at,author,text}: +notes[4]{created_at,author,text}: "2026-09-26T20:13:07.666Z",codex,"Installed pm-github 2026.9.26 in project scope; activation status ok. GitHub issue list for unbraind/pm-rl has zero issues, so pm github import --dry-run --atomic planned 0 creates/0 updates and pm github sync --dry-run planned 0. Strict PM health ok=true with one existing historical provenance warning. Companion rollout owner: pm-cli-website-377e." "2026-09-26T20:15:35.418Z",codex,"2026-09-26: Managed manifest is the only tracked extension file; installed code stays ignored. npm:pm-github@2026.9.26 activated nine GitHub commands. Import dry-run atomic found 0 issues; sync dry-run planned 0 writes. No GitHub issue mutation was made." "2026-09-26T20:16:51.178Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues." -files[1]{path,scope,note}: + "2026-09-28T20:07:04.479Z","harness:codex",2026-09-28 CodeRabbit on PR 54 correctly found that tracked managed-extension metadata alone cannot restore ignored pm-github code after a fresh checkout. README Development now installs exact published pm-github 2026.9.26 with the repository-pinned CLI and shows atomic import and sync dry runs. Actual issue-body import and scheduled push remain behind privacy and provenance review. +files[2]{path,scope,note}: .agents/pm/extensions/.managed-extensions.json,project,Managed pm-github extension metadata + README.md,project,Fresh-checkout pm-github install and privacy-reviewed sync preview body: "" diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index ecbf463f..103f9089 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,23 +6,25 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-28T19:57:12.474Z" +updated_at: "2026-09-28T20:07:05.197Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.28, pm-ops 2026.9.28, pm-changelog 2026.9.25; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records independent review and recursive-training limitations." parent: pm-rl-apvf comments[1]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." -notes[5]{created_at,author,text}: +notes[6]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." "2026-09-26T20:16:50.259Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate." "2026-09-28T19:51:00.569Z","harness:codex","2026-09-28 red-first CLI 2026.9.28 gate: one real host-bound test failed because pm install pointed at the whole checkout and the current CLI refused an incomplete 10000-entry source scan. Replaced that one-use fixture with npm pack archive installation through pm package install. Focused compiled test passed 1/1. The CLI refusal is expected upstream behavior; this is a package test correction." "2026-09-28T19:57:12.452Z","harness:codex","2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews." -files[4]{path,scope,note}: + "2026-09-28T20:07:05.169Z","harness:codex","2026-09-28 exact-head df2dcbc Node 22 CI failed one of 329 tests because npm 10 printed prepare-script output before the tarball filename; Node 26 and local npm 11 passed. The test now selects the final archive-name line and was red-first verified against the CI failure. Focused Node 22.23.1/npm 10.9.8 test passed 1/1; full Node 22 release:check passed 329/329 with 100/100/100/100 measured coverage and remaining release gates. CodeRabbit also found a separate fresh-clone pm-github setup gap, fixed in README and tracked on pm-rl-1bpz. This is pre-push evidence; a new exact-head CI and review round is required." +files[5]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.28 launcher test/index.test.ts,project,Packed extension host-bound mutation acceptance + README.md,project,Current CLI floor and fresh-checkout GitHub extension setup tests[2]: - command: node --test test/bandit.test.ts path: test/bandit.test.ts diff --git a/.agents/pm/history/pm-rl-1bpz.jsonl b/.agents/pm/history/pm-rl-1bpz.jsonl index ae2e9c54..cd165afe 100644 --- a/.agents/pm/history/pm-rl-1bpz.jsonl +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -5,3 +5,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-26T20:16:51.178Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"da82350b11c0427c8a01db4d","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/2","value":{"created_at":"2026-09-26T20:16:51.178Z","author":"codex","text":"PR https://github.com/unbraind/pm-rl/pull/54 proposes the managed pm-github manifest. Nonempty issue import acceptance remains part of the fleet rollout because unbraind/pm-rl currently has zero issues."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-26T20:16:51.178Z"}],"before_hash":"db9e35f14b4c6c23c27e39aa82b49dce4c5f3d8d23374a2f1de7b8b12fef5b77","after_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","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":"9e68c595161e852dea11ef119ea6a6d723bfec9e0dcc812543d81ecb68c7235f"} {"hash_algorithm":"sha256","ts":"2026-09-28T06:20:04.289Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:20:04.289Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-09-28T06:20:04.289Z","author":"claude-hub","text":"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch."}]}],"before_hash":"38d915720f79be8b676a41881a755dce50c580368aa75e1a25297b83cc45fa4e","after_hash":"a88b7b258b2aa547a16fcf8a35307582a4a5692a570613d2f422876796282674","item_hash_version":3,"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":"a303d7aa2f37339f84884c3ef7d7c16526222a05192759c5c637fd2487572819"} {"hash_algorithm":"sha256","ts":"2026-09-28T06:51:00.174Z","author":"claude-hub","author_source":"asserted","agent_harness":"claude-code","agent_model":"claude-opus-5-5","agent_model_source":"probe","agent_instance":"acec329f9c06ecc0d6dbecd4","agent_provenance":{"model":{"value":"claude-opus-5-5","source":"probe"},"effort":{"value":"high","source":"environment"},"role":null,"topic":null,"version":{"value":"2.1.283","source":"probe"}},"op":"comment_delete","patch":[{"op":"remove","path":"/metadata/comments"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T06:51:00.174Z"}],"before_hash":"a88b7b258b2aa547a16fcf8a35307582a4a5692a570613d2f422876796282674","after_hash":"d24a6dc3a5040301521baad61b7c482a8bfc92a3a134da64d5e9d5737753f27a","item_hash_version":3,"message":"Misplaced: this pm-ops 2026.9.28 launcher evidence belongs to the certification chore pm-rl-hncb, where it is now recorded","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":"c26bfeeef4e1f17813b1bf57eea9e4420450bc12372f703c2017f1761aa68fb8"} +{"hash_algorithm":"sha256","ts":"2026-09-28T20:07:04.497Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"add","path":"/metadata/files/1","value":{"path":"README.md","scope":"project","note":"Fresh-checkout pm-github install and privacy-reviewed sync preview"}},{"op":"add","path":"/metadata/notes/3","value":{"created_at":"2026-09-28T20:07:04.479Z","author":"harness:codex","text":"2026-09-28 CodeRabbit on PR 54 correctly found that tracked managed-extension metadata alone cannot restore ignored pm-github code after a fresh checkout. README Development now installs exact published pm-github 2026.9.26 with the repository-pinned CLI and shows atomic import and sync dry runs. Actual issue-body import and scheduled push remain behind privacy and provenance review."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T20:07:04.497Z"}],"before_hash":"d24a6dc3a5040301521baad61b7c482a8bfc92a3a134da64d5e9d5737753f27a","after_hash":"71c2216921193580cc4b7501dec2472dc56095509711dde20cbb1af4966cfd87","item_hash_version":3,"message":"Document fresh-checkout pm-github activation after review finding","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":"70f90a51611ee20f6e20bf93b118dc9ace2f2ff4dd3ca4d129f463563840f37f"} diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index d3724f3f..095c1212 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -22,3 +22,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-28T19:56:54.338Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_remove","patch":[{"op":"remove","path":"/metadata/tests/1"},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:54.338Z"}],"before_hash":"773a513a88a3bdaee4467f3e7a83b70a3130f0f04191b23e781ae1f7c3a58603","after_hash":"6c5e169a9522f3cb4f65dfee5227a5f6810ba2e3f10caf6fe86d824a6bbe15fc","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":"99cf36fa559ba27324438f575211296bb68e227498b7fa02011c06f1bafc3178"} {"hash_algorithm":"sha256","ts":"2026-09-28T19:56:55.037Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"none","workspace_context_mode":"snapshot","provenance":{"author":"harness:codex","created_at":"2026-09-28T19:56:55.002Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Packed extension host-bound mutation acceptance on the installed CLI"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:55.037Z"}],"before_hash":"6c5e169a9522f3cb4f65dfee5227a5f6810ba2e3f10caf6fe86d824a6bbe15fc","after_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","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":"bbdd443e0b307f4414df86439274a0d8296c3d433d64a2b91a8ea2850cf577fc"} {"hash_algorithm":"sha256","ts":"2026-09-28T19:57:12.474Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/docs/1/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI and SDK used by this candidate"},{"op":"replace","path":"/metadata/docs/0/scope","value":"global"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28"},{"op":"add","path":"/metadata/docs/2","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"add","path":"/metadata/notes/4","value":{"created_at":"2026-09-28T19:57:12.452Z","author":"harness:codex","text":"2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:57:12.474Z"}],"before_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","after_hash":"016cb9f801b179397baaa6dd17b4b13dadf3589dcf511662bef2cc4fcc8c9b30","item_hash_version":3,"message":"Record exact CLI 2026.9.28 release and packed acceptance evidence","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":"a2daeef93a8df6baca1238465a7ee1c765861711b53fe3f6e74f65c989d91b1e"} +{"hash_algorithm":"sha256","ts":"2026-09-28T20:07:05.197Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"add","path":"/metadata/files/4","value":{"path":"README.md","scope":"project","note":"Current CLI floor and fresh-checkout GitHub extension setup"}},{"op":"add","path":"/metadata/notes/5","value":{"created_at":"2026-09-28T20:07:05.169Z","author":"harness:codex","text":"2026-09-28 exact-head df2dcbc Node 22 CI failed one of 329 tests because npm 10 printed prepare-script output before the tarball filename; Node 26 and local npm 11 passed. The test now selects the final archive-name line and was red-first verified against the CI failure. Focused Node 22.23.1/npm 10.9.8 test passed 1/1; full Node 22 release:check passed 329/329 with 100/100/100/100 measured coverage and remaining release gates. CodeRabbit also found a separate fresh-clone pm-github setup gap, fixed in README and tracked on pm-rl-1bpz. This is pre-push evidence; a new exact-head CI and review round is required."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T20:07:05.197Z"}],"before_hash":"016cb9f801b179397baaa6dd17b4b13dadf3589dcf511662bef2cc4fcc8c9b30","after_hash":"4b617277d689008fa2a8ba8c4dbc2d97807bffb9dd8116f0d17fdf37b4fd08c1","item_hash_version":3,"message":"Record Node 22 pack-output regression and full gate repair","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":"3e2f884c8cddaa83d7113d7f55e0142796b7e3d8df2fe931296f9484a2209d14"} diff --git a/README.md b/README.md index cff6decb..b6a2dc7a 100644 --- a/README.md +++ b/README.md @@ -252,7 +252,7 @@ implemented and tested. ## Requirements - Node.js ≥ 22.18, tested on 22 and 26 -- `@unbrained/pm-cli` ≥ 2026.8.1 (peer dependency) +- `@unbrained/pm-cli` ≥ 2026.8.28 (peer dependency) - Works under `npm`/`npx` and `bun`/`bunx` - No runtime dependencies beyond the Node standard library @@ -260,12 +260,23 @@ implemented and tested. ```bash npm ci +./node_modules/.bin/pm package install npm:pm-github@2026.9.26 --project +./node_modules/.bin/pm github import unbraind/pm-rl --state open --atomic --dry-run +./node_modules/.bin/pm github sync --repo unbraind/pm-rl --dry-run npm run typecheck npm run docstring # hard 100% documented declarations -npm run coverage # hard 100% lines / branches / functions, no suppressions +npm run coverage # hard 100% statements / lines / branches / functions npm run changelog:check ``` +The tracked managed-extension manifest records `pm-github`, but its installed +code is ignored by Git. `npm ci` does not restore that project extension in a +fresh checkout, so install the pinned package before using `pm github`. +The import and sync commands above only preview changes. Review issue bodies, +provenance, and the proposed PM diff for private data and duplicates before +any import or push; scheduled issue sync remains disabled until that review can +be enforced automatically. + ## License MIT diff --git a/test/index.test.ts b/test/index.test.ts index 2c1e551e..181bed09 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -245,12 +245,14 @@ test("a referenced environment is refused at the write boundary by the command, const { root, pmRoot, harness } = await workspace(); // Exercise the shipped archive. The CLI refuses a source-directory install // once dependency trees make its bounded scan incomplete. - const archive = execFileSync(process.platform === "win32" ? "npm.cmd" : "npm", ["pack", "--ignore-scripts", "--silent", "--pack-destination", root], { + const packOutput = execFileSync(process.platform === "win32" ? "npm.cmd" : "npm", ["pack", "--ignore-scripts", "--silent", "--pack-destination", root], { cwd: process.cwd(), encoding: "utf8", shell: process.platform === "win32", - }).trim(); - assert.match(archive, /^pm-rl-.*\.tgz$/); + }); + // npm 10 on Node 22 also prints the prepare script's output to stdout. + const archive = packOutput.trim().split(/\r?\n/).at(-1); + assert.ok(archive && /^pm-rl-.*\.tgz$/.test(archive), "npm pack did not return the pm-rl archive as its final line"); execFileSync(join(process.cwd(), "node_modules", ".bin", "pm"), ["package", "install", join(root, archive), "--project", "--json"], { cwd: root, encoding: "utf8", From 40278882ee22047253bd7e59c15e867ac8bf6d00 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Tue, 29 Sep 2026 15:28:32 +0200 Subject: [PATCH 07/11] chore(rl): certify published PM CLI SDK 2026.9.29 Pin the development CLI and lockfile to the latest published SDK. Record the direct 329-test release gate with measured four-metric coverage, fresh packed npm/Bun functional acceptance, and the separate unshipped recursive LLM controller in the package PM item. --- .agents/pm/chores/pm-rl-hncb.toon | 15 +++++++++------ .agents/pm/history/pm-rl-hncb.jsonl | 4 ++++ package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index 103f9089..46e37539 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -1,24 +1,26 @@ id: pm-rl-hncb -title: Certify pm-rl against PM CLI SDK 2026.9.28 -description: "Upgrade the candidate development CLI and SDK to published 2026.9.28 to match the active pm-github extension SDK; retain published pm-ops 2026.9.28 and pm-changelog 2026.9.25. Certify direct release gates, packed npm/Bun behavior, and strict tracker health. Companion rollout: pm-cli-website-377e." +title: Certify pm-rl against published PM CLI SDK 2026.9.29 +description: "Upgrade the development CLI and SDK to published 2026.9.29 while retaining published pm-ops 2026.9.28 and pm-changelog 2026.9.25. Certify direct release gates, packed npm/Bun behavior, and strict tracker health. The durable recursive LLM controller remains separately open under pm-rl-apvf." type: Chore status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-28T20:07:05.197Z" +updated_at: "2026-09-29T13:28:17.437Z" author: codex -acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.28, pm-ops 2026.9.28, pm-changelog 2026.9.25; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance is measured; PR links this item and records independent review and recursive-training limitations." +acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations." parent: pm-rl-apvf comments[1]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." -notes[6]{created_at,author,text}: +notes[8]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." "2026-09-26T20:16:50.259Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate." "2026-09-28T19:51:00.569Z","harness:codex","2026-09-28 red-first CLI 2026.9.28 gate: one real host-bound test failed because pm install pointed at the whole checkout and the current CLI refused an incomplete 10000-entry source scan. Replaced that one-use fixture with npm pack archive installation through pm package install. Focused compiled test passed 1/1. The CLI refusal is expected upstream behavior; this is a package test correction." "2026-09-28T19:57:12.452Z","harness:codex","2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews." "2026-09-28T20:07:05.169Z","harness:codex","2026-09-28 exact-head df2dcbc Node 22 CI failed one of 329 tests because npm 10 printed prepare-script output before the tarball filename; Node 26 and local npm 11 passed. The test now selects the final archive-name line and was red-first verified against the CI failure. Focused Node 22.23.1/npm 10.9.8 test passed 1/1; full Node 22 release:check passed 329/329 with 100/100/100/100 measured coverage and remaining release gates. CodeRabbit also found a separate fresh-clone pm-github setup gap, fixed in README and tracked on pm-rl-1bpz. This is pre-push evidence; a new exact-head CI and review round is required." + "2026-09-29T13:23:14.871Z",codex,"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows." + "2026-09-29T13:28:17.437Z",codex,"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit." files[5]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins @@ -48,8 +50,9 @@ tests[2]: source_kind: local_mutation source_ref: chore/pm-rl-cli-sdk-2026-9-26 note: Packed extension host-bound mutation acceptance on the installed CLI -docs[3]{path,scope,note}: +docs[4]{path,scope,note}: "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28",global,Published CLI and SDK used by this candidate + "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29",global,Published CLI SDK used by the refreshed candidate "https://github.com/unbraind/pm-cli/issues/1318",project,Linked test sandbox issue RECURSIVE_TRAINING.md,project,Controller scope remains open body: "" diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 095c1212..45070d33 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -23,3 +23,7 @@ {"hash_algorithm":"sha256","ts":"2026-09-28T19:56:55.037Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"add","path":"/metadata/tests/1","value":{"command":"node --test --test-name-pattern=\"a referenced environment is refused\" test/index.test.ts","path":"test/index.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"none","workspace_context_mode":"snapshot","provenance":{"author":"harness:codex","created_at":"2026-09-28T19:56:55.002Z","source_kind":"local_mutation","source_ref":"chore/pm-rl-cli-sdk-2026-9-26"},"note":"Packed extension host-bound mutation acceptance on the installed CLI"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:56:55.037Z"}],"before_hash":"6c5e169a9522f3cb4f65dfee5227a5f6810ba2e3f10caf6fe86d824a6bbe15fc","after_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","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":"bbdd443e0b307f4414df86439274a0d8296c3d433d64a2b91a8ea2850cf577fc"} {"hash_algorithm":"sha256","ts":"2026-09-28T19:57:12.474Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/docs/1/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI and SDK used by this candidate"},{"op":"replace","path":"/metadata/docs/0/scope","value":"global"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28"},{"op":"add","path":"/metadata/docs/2","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"add","path":"/metadata/notes/4","value":{"created_at":"2026-09-28T19:57:12.452Z","author":"harness:codex","text":"2026-09-28 final local CLI 2026.9.28 candidate: direct release:check passed 329/329 tests with 0 failures or skips. Coverage gate measured 100.00% statements lines branches and functions over 20 authored source files; docstrings 136/136 declarations; duplication zero; production npm audit zero vulnerabilities; package pack and changelog check passed. A red-first host-bound test failed on the now-correct 10000-entry local source scan refusal and passed after installing the packed archive. Fresh npm/Node and Bun 1.3.5 projects imported the tarball and npx/bunx ran pm 2026.9.28. A linked snapshot workspace run of the focused packed mutation test passed 1/1; initial linked none/source and isolated attempts failed on context and absent test file, respectively. Strict PM health passes with one historical provenance advisory. pm-github public issue import and sync dry runs planned zero writes because the repo currently has zero GitHub issues. This does not certify a nonempty import, recursive controller, hosted service or external reviews."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T19:57:12.474Z"}],"before_hash":"f90b1e30e08beb8c814298377322567f4895e5b08792098eb678be278f8b0d42","after_hash":"016cb9f801b179397baaa6dd17b4b13dadf3589dcf511662bef2cc4fcc8c9b30","item_hash_version":3,"message":"Record exact CLI 2026.9.28 release and packed acceptance evidence","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":"a2daeef93a8df6baca1238465a7ee1c765861711b53fe3f6e74f65c989d91b1e"} {"hash_algorithm":"sha256","ts":"2026-09-28T20:07:05.197Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"3f6022d777543adbf3cc979c","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"add","path":"/metadata/files/4","value":{"path":"README.md","scope":"project","note":"Current CLI floor and fresh-checkout GitHub extension setup"}},{"op":"add","path":"/metadata/notes/5","value":{"created_at":"2026-09-28T20:07:05.169Z","author":"harness:codex","text":"2026-09-28 exact-head df2dcbc Node 22 CI failed one of 329 tests because npm 10 printed prepare-script output before the tarball filename; Node 26 and local npm 11 passed. The test now selects the final archive-name line and was red-first verified against the CI failure. Focused Node 22.23.1/npm 10.9.8 test passed 1/1; full Node 22 release:check passed 329/329 with 100/100/100/100 measured coverage and remaining release gates. CodeRabbit also found a separate fresh-clone pm-github setup gap, fixed in README and tracked on pm-rl-1bpz. This is pre-push evidence; a new exact-head CI and review round is required."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-28T20:07:05.197Z"}],"before_hash":"016cb9f801b179397baaa6dd17b4b13dadf3589dcf511662bef2cc4fcc8c9b30","after_hash":"4b617277d689008fa2a8ba8c4dbc2d97807bffb9dd8116f0d17fdf37b4fd08c1","item_hash_version":3,"message":"Record Node 22 pack-output regression and full gate repair","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":"3e2f884c8cddaa83d7113d7f55e0142796b7e3d8df2fe931296f9484a2209d14"} +{"hash_algorithm":"sha256","ts":"2026-09-29T13:23:13.669Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/acceptance_criteria","value":"Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations."},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:13.669Z"},{"op":"replace","path":"/metadata/description","value":"Upgrade the development CLI and SDK to published 2026.9.29 while retaining published pm-ops 2026.9.28 and pm-changelog 2026.9.25. Certify direct release gates, packed npm/Bun behavior, and strict tracker health. The durable recursive LLM controller remains separately open under pm-rl-apvf."},{"op":"replace","path":"/metadata/title","value":"Certify pm-rl against published PM CLI SDK 2026.9.29"}],"before_hash":"4b617277d689008fa2a8ba8c4dbc2d97807bffb9dd8116f0d17fdf37b4fd08c1","after_hash":"5b53e66c92a493ef15875e5fce5feb5fa74c44b8d611bd81d637f897a292f6c2","item_hash_version":3,"message":"Advance CLI SDK certification to published 2026.9.29","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":"e2faeb39c389e7b9feed6cf6f6475f4a18e4e53fd9575ab080ffdf3581808bdd"} +{"hash_algorithm":"sha256","ts":"2026-09-29T13:23:14.267Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/2/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/2/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/1/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/1/scope","value":"global"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"add","path":"/metadata/docs/3","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:14.267Z"}],"before_hash":"5b53e66c92a493ef15875e5fce5feb5fa74c44b8d611bd81d637f897a292f6c2","after_hash":"ebed8c71e194c226dd4b58e9dcc0927d91fccb1011fdf7bb208c66f0c5b0e619","item_hash_version":3,"message":"Link latest published CLI release","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":"dc55b9886a59d8956b258a3b48591b0abe2993755126b8a645cffde630974b76"} +{"hash_algorithm":"sha256","ts":"2026-09-29T13:23:14.871Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/6","value":{"created_at":"2026-09-29T13:23:14.871Z","author":"codex","text":"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:14.871Z"}],"before_hash":"ebed8c71e194c226dd4b58e9dcc0927d91fccb1011fdf7bb208c66f0c5b0e619","after_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","item_hash_version":3,"message":"Record latest-host packed acceptance before pin revalidation","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":"b81a1c2d38f45b16ad7f8f1fc38a2ebc9cec683e74a14eef0f8e86f53ead1d1a"} +{"hash_algorithm":"sha256","ts":"2026-09-29T13:28:17.437Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/7","value":{"created_at":"2026-09-29T13:28:17.437Z","author":"codex","text":"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:28:17.437Z"}],"before_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","after_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","item_hash_version":3,"message":"Record full release gate on published CLI 2026.9.29","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":"f5856e7ee60e85cb5da0715a28b710b62f37dea9ef031fefb2440f34b9936dc1"} diff --git a/package-lock.json b/package-lock.json index bd2518ac..a39b254c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.28", + "@unbrained/pm-cli": "2026.9.29", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", @@ -1219,9 +1219,9 @@ } }, "node_modules/@unbrained/pm-cli": { - "version": "2026.9.28", - "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.28.tgz", - "integrity": "sha512-bbyq/FIKMUxnGKJTieG3AVL96tS4l9JUuTgzgAiZTqI7lYyLXytmQFVD1a+2neVQT9+6sVNF8ko2u7DcqztxjQ==", + "version": "2026.9.29", + "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.29.tgz", + "integrity": "sha512-dkWT7u42PhKVbignagfdvwiLkIIo1pzsX4zetaKuwIXK68yyv6JqnYJ0fndRNNqTCEFUZOx7ArW3USE7f1tg1A==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index a49af00a..fe93b0c5 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "@babel/eslint-parser": "^8.0.6", "@babel/plugin-syntax-typescript": "^8.0.3", "@types/node": "^26.6.1", - "@unbrained/pm-cli": "2026.9.28", + "@unbrained/pm-cli": "2026.9.29", "eslint": "^10.10.0", "jiti": "^2.7.0", "jscpd": "^5.3.0", From 9fe660613535dff6f1eb0c2e7bfcb16ab84ae224 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Tue, 29 Sep 2026 15:29:33 +0200 Subject: [PATCH 08/11] docs(rl): record exact-head packed npm and Bun acceptance Link the published CLI 2026.9.29 functional registration and strict-health receipts to the package-owned certification item, while keeping the recursive LLM controller and review gates open. --- .agents/pm/chores/pm-rl-hncb.toon | 5 +++-- .agents/pm/history/pm-rl-hncb.jsonl | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index 46e37539..8b8064ca 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,13 +6,13 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-29T13:28:17.437Z" +updated_at: "2026-09-29T13:29:25.687Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations." parent: pm-rl-apvf comments[1]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." -notes[8]{created_at,author,text}: +notes[9]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." "2026-09-26T20:16:50.259Z",codex,"PR https://github.com/unbraind/pm-rl/pull/54 proposes the SDK and canonical launcher update. Exact-head CI, bot review, merge and publication remain pending independently of the passed local release gate." @@ -21,6 +21,7 @@ notes[8]{created_at,author,text}: "2026-09-28T20:07:05.169Z","harness:codex","2026-09-28 exact-head df2dcbc Node 22 CI failed one of 329 tests because npm 10 printed prepare-script output before the tarball filename; Node 26 and local npm 11 passed. The test now selects the final archive-name line and was red-first verified against the CI failure. Focused Node 22.23.1/npm 10.9.8 test passed 1/1; full Node 22 release:check passed 329/329 with 100/100/100/100 measured coverage and remaining release gates. CodeRabbit also found a separate fresh-clone pm-github setup gap, fixed in README and tracked on pm-rl-1bpz. This is pre-push evidence; a new exact-head CI and review round is required." "2026-09-29T13:23:14.871Z",codex,"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows." "2026-09-29T13:28:17.437Z",codex,"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit." + "2026-09-29T13:29:25.687Z",codex,"Exact pushed head 4027888 was packed to a fresh archive. Independent npm/npx and Bun/bunx workspaces each installed published CLI 2026.9.29 and that archive, initialized a tracker, completed pm package install with copy.complete=true and activation, registered the packed Grid World 3 example with identical content hash, and passed strict PM health with zero warnings. The full direct release gate already passed on this same head before this evidence-only note. Review and pm-rl-apvf execution-controller gates remain open." files[5]{path,scope,note}: package-lock.json,project,Resolved PM toolchain lock package.json,project,Exact PM toolchain pins diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 45070d33..1a0af89c 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -27,3 +27,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-29T13:23:14.267Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/2/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/2/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/1/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/1/scope","value":"global"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"add","path":"/metadata/docs/3","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:14.267Z"}],"before_hash":"5b53e66c92a493ef15875e5fce5feb5fa74c44b8d611bd81d637f897a292f6c2","after_hash":"ebed8c71e194c226dd4b58e9dcc0927d91fccb1011fdf7bb208c66f0c5b0e619","item_hash_version":3,"message":"Link latest published CLI release","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":"dc55b9886a59d8956b258a3b48591b0abe2993755126b8a645cffde630974b76"} {"hash_algorithm":"sha256","ts":"2026-09-29T13:23:14.871Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/6","value":{"created_at":"2026-09-29T13:23:14.871Z","author":"codex","text":"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:14.871Z"}],"before_hash":"ebed8c71e194c226dd4b58e9dcc0927d91fccb1011fdf7bb208c66f0c5b0e619","after_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","item_hash_version":3,"message":"Record latest-host packed acceptance before pin revalidation","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":"b81a1c2d38f45b16ad7f8f1fc38a2ebc9cec683e74a14eef0f8e86f53ead1d1a"} {"hash_algorithm":"sha256","ts":"2026-09-29T13:28:17.437Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/7","value":{"created_at":"2026-09-29T13:28:17.437Z","author":"codex","text":"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:28:17.437Z"}],"before_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","after_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","item_hash_version":3,"message":"Record full release gate on published CLI 2026.9.29","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":"f5856e7ee60e85cb5da0715a28b710b62f37dea9ef031fefb2440f34b9936dc1"} +{"hash_algorithm":"sha256","ts":"2026-09-29T13:29:25.687Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/8","value":{"created_at":"2026-09-29T13:29:25.687Z","author":"codex","text":"Exact pushed head 4027888 was packed to a fresh archive. Independent npm/npx and Bun/bunx workspaces each installed published CLI 2026.9.29 and that archive, initialized a tracker, completed pm package install with copy.complete=true and activation, registered the packed Grid World 3 example with identical content hash, and passed strict PM health with zero warnings. The full direct release gate already passed on this same head before this evidence-only note. Review and pm-rl-apvf execution-controller gates remain open."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:29:25.687Z"}],"before_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","after_hash":"d81e72d132fe77a73f7c415528be020eef2df3489892418ca1f3e1079236ce27","item_hash_version":3,"message":"Record exact-head packed npm and Bun acceptance","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":"7af7495e1d4cf5d068b2cba6c4cd05795cbd053536638439bac9617343b565f0"} From 9a2b2019af5e63575188a8274de3def6cb06815e Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Fri, 2 Oct 2026 20:22:59 +0200 Subject: [PATCH 09/11] Record the pi-land-a merge-readiness verification pass on pm-rl-hncb Exact head 9fe6606 is mergeable and CLEAN against origin/main with green Node 22/26 and CodeQL CI; all review threads are resolved. The bot review window was re-requested because CodeRabbit's prior full-review attempt on this head failed with an internal error. --- .agents/pm/chores/pm-rl-hncb.toon | 5 +++-- .agents/pm/history/pm-rl-hncb.jsonl | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index 8b8064ca..f6b4079e 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,12 +6,13 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-09-29T13:29:25.687Z" +updated_at: "2026-10-02T18:22:43.959Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations." parent: pm-rl-apvf -comments[1]{created_at,author,text}: +comments[2]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." + "2026-10-02T18:22:43.959Z",pi-land-a,"Merge-readiness verification pass by pi-land-a (fleet PR landing session): exact head 9fe6606 is mergeable and CLEAN against origin/main; Node 22/26, CodeQL CI green; all five review threads resolved; re-requested the bot review window because CodeRabbit's prior full-review attempt on this head failed with an internal error (issuecomment-5891308945) and Greptile/Gemini are not active on this repository." notes[9]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 1a0af89c..850967fb 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -28,3 +28,4 @@ {"hash_algorithm":"sha256","ts":"2026-09-29T13:23:14.871Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/6","value":{"created_at":"2026-09-29T13:23:14.871Z","author":"codex","text":"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:23:14.871Z"}],"before_hash":"ebed8c71e194c226dd4b58e9dcc0927d91fccb1011fdf7bb208c66f0c5b0e619","after_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","item_hash_version":3,"message":"Record latest-host packed acceptance before pin revalidation","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":"b81a1c2d38f45b16ad7f8f1fc38a2ebc9cec683e74a14eef0f8e86f53ead1d1a"} {"hash_algorithm":"sha256","ts":"2026-09-29T13:28:17.437Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/7","value":{"created_at":"2026-09-29T13:28:17.437Z","author":"codex","text":"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:28:17.437Z"}],"before_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","after_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","item_hash_version":3,"message":"Record full release gate on published CLI 2026.9.29","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":"f5856e7ee60e85cb5da0715a28b710b62f37dea9ef031fefb2440f34b9936dc1"} {"hash_algorithm":"sha256","ts":"2026-09-29T13:29:25.687Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/8","value":{"created_at":"2026-09-29T13:29:25.687Z","author":"codex","text":"Exact pushed head 4027888 was packed to a fresh archive. Independent npm/npx and Bun/bunx workspaces each installed published CLI 2026.9.29 and that archive, initialized a tracker, completed pm package install with copy.complete=true and activation, registered the packed Grid World 3 example with identical content hash, and passed strict PM health with zero warnings. The full direct release gate already passed on this same head before this evidence-only note. Review and pm-rl-apvf execution-controller gates remain open."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:29:25.687Z"}],"before_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","after_hash":"d81e72d132fe77a73f7c415528be020eef2df3489892418ca1f3e1079236ce27","item_hash_version":3,"message":"Record exact-head packed npm and Bun acceptance","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":"7af7495e1d4cf5d068b2cba6c4cd05795cbd053536638439bac9617343b565f0"} +{"hash_algorithm":"sha256","ts":"2026-10-02T18:22:43.959Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-02T18:22:43.959Z","author":"pi-land-a","text":"Merge-readiness verification pass by pi-land-a (fleet PR landing session): exact head 9fe6606 is mergeable and CLEAN against origin/main; Node 22/26, CodeQL CI green; all five review threads resolved; re-requested the bot review window because CodeRabbit's prior full-review attempt on this head failed with an internal error (issuecomment-5891308945) and Greptile/Gemini are not active on this repository."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:22:43.959Z"}],"before_hash":"d81e72d132fe77a73f7c415528be020eef2df3489892418ca1f3e1079236ce27","after_hash":"59fcdf028c270bf8649711d59a11f4e68543137da05900c08a33961d5567f97b","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"f924a6aa061f24b627ed292d7e0fcbc3f98a89f5c08c94935fb2105af485340f"} From c8a640a4471e8d92c1a68749a2a85be50b2a7b09 Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Fri, 2 Oct 2026 20:52:32 +0200 Subject: [PATCH 10/11] Refresh bun.lock to the certified pins and fix the historical SDK link label Cubic review found the tracked bun.lock still resolved the PM CLI, pm-changelog and pm-ops at 2026.8.1 while package.json pins 2026.9.29/2026.9.25/2026.9.28, and the v2026.9.28 release link was labeled as this candidate's SDK after the 2026.9.29 refresh. bun.lock is regenerated with bun 1.3.5 and the doc link now names the earlier heads. Full release:check passed 329/329 with 100/100/100/100 measured coverage and zero production audit findings. --- .agents/pm/chores/pm-rl-hncb.toon | 7 +- .agents/pm/history/pm-rl-hncb.jsonl | 3 + bun.lock | 302 +++++++++++++++++++++++++--- 3 files changed, 280 insertions(+), 32 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index f6b4079e..efdde621 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,13 +6,14 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-10-02T18:22:43.959Z" +updated_at: "2026-10-02T18:52:29.434Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations." parent: pm-rl-apvf -comments[2]{created_at,author,text}: +comments[3]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." "2026-10-02T18:22:43.959Z",pi-land-a,"Merge-readiness verification pass by pi-land-a (fleet PR landing session): exact head 9fe6606 is mergeable and CLEAN against origin/main; Node 22/26, CodeQL CI green; all five review threads resolved; re-requested the bot review window because CodeRabbit's prior full-review attempt on this head failed with an internal error (issuecomment-5891308945) and Greptile/Gemini are not active on this repository." + "2026-10-02T18:52:29.433Z",pi-land-a,"Cubic review (new head 9a2b201) findings on this candidate: (1) valid - the tracked bun.lock still resolved @unbrained/pm-cli, pm-changelog and pm-ops at 2026.8.1; regenerated with bun 1.3.5 so it now resolves the exact pins 2026.9.29/2026.9.25/2026.9.28. (2) valid - the v2026.9.28 release link was mislabeled 'used by this candidate'; relabeled as the earlier heads' SDK, superseded by 2026.9.29. Refused with reasons in their threads: the lstatSync/require.resolve.paths launcher probes are the byte-identical published pm-ops template (upstream pm-ops issue filed), and the npm pack final-line parse uses --ignore-scripts so prepare output cannot follow the archive name, with an exact-regex assertion that fails loudly otherwise. Full npm run release:check after the changes passed 329/329 with 100/100/100/100 measured coverage over 20 sources and zero production audit findings." notes[9]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." @@ -53,7 +54,7 @@ tests[2]: source_ref: chore/pm-rl-cli-sdk-2026-9-26 note: Packed extension host-bound mutation acceptance on the installed CLI docs[4]{path,scope,note}: - "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28",global,Published CLI and SDK used by this candidate + "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28",global,"Published CLI and SDK used by the earlier heads of this candidate, superseded by 2026.9.29" "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29",global,Published CLI SDK used by the refreshed candidate "https://github.com/unbraind/pm-cli/issues/1318",project,Linked test sandbox issue RECURSIVE_TRAINING.md,project,Controller scope remains open diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index 850967fb..cb79eaa6 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -29,3 +29,6 @@ {"hash_algorithm":"sha256","ts":"2026-09-29T13:28:17.437Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/7","value":{"created_at":"2026-09-29T13:28:17.437Z","author":"codex","text":"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:28:17.437Z"}],"before_hash":"98dedcdc6d1e8eb4a3ac74a568cc729fb200e57fc3e8a7e73c7d7f9ac2438ad2","after_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","item_hash_version":3,"message":"Record full release gate on published CLI 2026.9.29","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":"f5856e7ee60e85cb5da0715a28b710b62f37dea9ef031fefb2440f34b9936dc1"} {"hash_algorithm":"sha256","ts":"2026-09-29T13:29:25.687Z","author":"codex","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6-sol","agent_model_source":"probe","agent_instance":"2c3f7a48efed53635ccfd6b4","agent_provenance":{"model":{"value":"gpt-6-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"note_add","patch":[{"op":"add","path":"/metadata/notes/8","value":{"created_at":"2026-09-29T13:29:25.687Z","author":"codex","text":"Exact pushed head 4027888 was packed to a fresh archive. Independent npm/npx and Bun/bunx workspaces each installed published CLI 2026.9.29 and that archive, initialized a tracker, completed pm package install with copy.complete=true and activation, registered the packed Grid World 3 example with identical content hash, and passed strict PM health with zero warnings. The full direct release gate already passed on this same head before this evidence-only note. Review and pm-rl-apvf execution-controller gates remain open."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-09-29T13:29:25.687Z"}],"before_hash":"8ed240b8f313206d099192e4801a80d8b9bfae4c9940309832ab97649ec14215","after_hash":"d81e72d132fe77a73f7c415528be020eef2df3489892418ca1f3e1079236ce27","item_hash_version":3,"message":"Record exact-head packed npm and Bun acceptance","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":"7af7495e1d4cf5d068b2cba6c4cd05795cbd053536638439bac9617343b565f0"} {"hash_algorithm":"sha256","ts":"2026-10-02T18:22:43.959Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-02T18:22:43.959Z","author":"pi-land-a","text":"Merge-readiness verification pass by pi-land-a (fleet PR landing session): exact head 9fe6606 is mergeable and CLEAN against origin/main; Node 22/26, CodeQL CI green; all five review threads resolved; re-requested the bot review window because CodeRabbit's prior full-review attempt on this head failed with an internal error (issuecomment-5891308945) and Greptile/Gemini are not active on this repository."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:22:43.959Z"}],"before_hash":"d81e72d132fe77a73f7c415528be020eef2df3489892418ca1f3e1079236ce27","after_hash":"59fcdf028c270bf8649711d59a11f4e68543137da05900c08a33961d5567f97b","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"f924a6aa061f24b627ed292d7e0fcbc3f98a89f5c08c94935fb2105af485340f"} +{"hash_algorithm":"sha256","ts":"2026-10-02T18:44:31.263Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"docs_add","patch":[{"op":"remove","path":"/metadata/docs/3"},{"op":"replace","path":"/metadata/docs/2/note","value":"Controller scope remains open"},{"op":"replace","path":"/metadata/docs/2/path","value":"RECURSIVE_TRAINING.md"},{"op":"replace","path":"/metadata/docs/1/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/1/scope","value":"project"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:44:31.263Z"}],"before_hash":"59fcdf028c270bf8649711d59a11f4e68543137da05900c08a33961d5567f97b","after_hash":"fab9c47f19c071fdfeae2f6b6d5422e06b71af66830df2a41abe45981d009dd0","item_hash_version":3,"message":"Drop the mislabeled v2026.9.28 release link before re-adding it with a scope-correct note","event_class":"maintenance","record_hash_version":1,"record_hash":"811520ceabf55b2c22814b4ba676db532274634ba8676348172032cb684718b6"} +{"hash_algorithm":"sha256","ts":"2026-10-02T18:44:33.254Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/2/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/2/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/1/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/1/scope","value":"global"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI and SDK used by the earlier heads of this candidate, superseded by 2026.9.29"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28"},{"op":"add","path":"/metadata/docs/3","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:44:33.254Z"}],"before_hash":"fab9c47f19c071fdfeae2f6b6d5422e06b71af66830df2a41abe45981d009dd0","after_hash":"824cb08f2edb695c7e5803a99a5db7b08c54448da115450ff81f1b670a5bd048","item_hash_version":3,"message":"Record the v2026.9.28 link as historical for the refreshed 2026.9.29 candidate","event_class":"maintenance","record_hash_version":1,"record_hash":"d144fd64f808a1bbb537c441e1aee8b7b86b9144cc727da0d321a52e87a87f88"} +{"hash_algorithm":"sha256","ts":"2026-10-02T18:52:29.434Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-02T18:52:29.433Z","author":"pi-land-a","text":"Cubic review (new head 9a2b201) findings on this candidate: (1) valid - the tracked bun.lock still resolved @unbrained/pm-cli, pm-changelog and pm-ops at 2026.8.1; regenerated with bun 1.3.5 so it now resolves the exact pins 2026.9.29/2026.9.25/2026.9.28. (2) valid - the v2026.9.28 release link was mislabeled 'used by this candidate'; relabeled as the earlier heads' SDK, superseded by 2026.9.29. Refused with reasons in their threads: the lstatSync/require.resolve.paths launcher probes are the byte-identical published pm-ops template (upstream pm-ops issue filed), and the npm pack final-line parse uses --ignore-scripts so prepare output cannot follow the archive name, with an exact-regex assertion that fails loudly otherwise. Full npm run release:check after the changes passed 329/329 with 100/100/100/100 measured coverage over 20 sources and zero production audit findings."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:52:29.434Z"}],"before_hash":"824cb08f2edb695c7e5803a99a5db7b08c54448da115450ff81f1b670a5bd048","after_hash":"9fa85096b24a96567184ad011ca1f844f0ef1eb926a5f1daa2da33196a07069b","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"5ca7d42d540a2c31893c05b43ea01b8bd18703283d2f01da40d37046ba206091"} diff --git a/bun.lock b/bun.lock index ec800ffd..b34d7e6a 100644 --- a/bun.lock +++ b/bun.lock @@ -5,25 +5,99 @@ "": { "name": "pm-rl", "devDependencies": { - "@types/node": "^26.1.2", - "@unbrained/pm-cli": "^2026.8.1", - "pm-changelog": "^2026.8.1", - "pm-ops": "^2026.7.31", + "@babel/core": "^8.0.6", + "@babel/eslint-parser": "^8.0.6", + "@babel/plugin-syntax-typescript": "^8.0.3", + "@types/node": "^26.6.1", + "@unbrained/pm-cli": "2026.9.29", + "eslint": "^10.10.0", + "jiti": "^2.7.0", + "jscpd": "^5.3.0", + "pm-changelog": "2026.9.25", + "pm-ops": "2026.9.28", "typescript": "^7.0.2", }, "peerDependencies": { - "@unbrained/pm-cli": ">=2026.8.1", + "@unbrained/pm-cli": ">=2026.8.28", }, }, }, "packages": { - "@apm-js-collab/code-transformer": ["@apm-js-collab/code-transformer@0.18.1", "", { "dependencies": { "@types/estree": "^1.0.8", "astring": "^1.9.0", "esquery": "^1.7.0", "meriyah": "^6.1.4", "semifies": "^1.0.0", "source-map": "^0.6.0" }, "bin": { "code-transformer": "cli.js" } }, "sha512-u1Hb6bHjWtkSpiprwVP6YaHC1DTN4RAU3zYkUDUe7WMnJwdyU1pwTL9dFKiSJB9IiLue/EQovmyx6xhU7FFtAQ=="], + "@babel/code-frame": ["@babel/code-frame@8.0.6", "", { "dependencies": { "@babel/helper-validator-identifier": "^8.0.6", "js-tokens": "^10.0.0" } }, "sha512-uMHhvmDmwFiLuiozaoRYTZHqMFuu3fem/X9JY78lohAuLoh8LSGGC8JqUzo2cVuBsBxkjMZNk56CE7ock8Xxkw=="], - "@apm-js-collab/code-transformer-bundler-plugins": ["@apm-js-collab/code-transformer-bundler-plugins@0.7.3", "", { "dependencies": { "@apm-js-collab/code-transformer": "^0.18.0", "es-module-lexer": "^2.1.0", "magic-string": "^0.30.21", "module-details-from-path": "^1.0.4" } }, "sha512-qNbPwuMZ8f5ZuGj/ttPeB7a6C/S1bB6tNYaEL5vNiRKydSAxa4AU0gxCWgaP4fVju+AuwhcumSFjrEcGF9Dv7Q=="], + "@babel/compat-data": ["@babel/compat-data@8.0.5", "", {}, "sha512-YLsYoQMvL8l8WrGpN3Zj7O1wK5LEBN+cQtux7BcuHyxIXve724XG+zuJ1n3U1cUweRtTzQOA4IHbuQw3N34SZw=="], - "@apm-js-collab/tracing-hooks": ["@apm-js-collab/tracing-hooks@0.13.0", "", { "dependencies": { "@apm-js-collab/code-transformer": "^0.18.0", "debug": "^4.4.1", "module-details-from-path": "^1.0.4" } }, "sha512-mTvWz9rnQwx1U3h0XPTHaX7bgfkpipLLTQyjlC2cdhQpQEuoLT0AGzoydeoq2NxfEVv6fWOOETcSbb2nptleyw=="], + "@babel/core": ["@babel/core@8.0.6", "", { "dependencies": { "@babel/code-frame": "^8.0.6", "@babel/generator": "^8.0.6", "@babel/helper-compilation-targets": "^8.0.6", "@babel/helpers": "^8.0.5", "@babel/parser": "^8.0.6", "@babel/template": "^8.0.0", "@babel/traverse": "^8.0.6", "@babel/types": "^8.0.6", "@types/gensync": "^1.0.5", "convert-source-map": "^2.0.0", "empathic": "^2.0.1", "gensync": "^1.0.0-beta.2", "import-meta-resolve": "^4.2.0", "json5": "^2.2.3", "obug": "^2.1.1", "verkit": "^0.3.2" } }, "sha512-5zwYt1V4ji3mXKKRIAkohSJ29WepxNwxQi+7y7P5AcVPh1dcxnZBU2cfxHnPwS+u9+lZnXPsv30TQaF2xg+Tfg=="], - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + "@babel/eslint-parser": ["@babel/eslint-parser@8.0.6", "", { "dependencies": { "eslint-scope": "^9.1.0", "eslint-visitor-keys": "^5.0.0", "verkit": "^0.3.2" }, "peerDependencies": { "@babel/core": "^8.0.0", "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-mXx93HLovamLnDDLQ4i48gm4HHtaoqJrbMAuJqrMfpCGJkJ5M4sXhRgKGTrxykg1P8tAN5myrJxsRZuMuTq+OQ=="], + + "@babel/generator": ["@babel/generator@8.0.6", "", { "dependencies": { "@babel/parser": "^8.0.6", "@babel/types": "^8.0.6", "@jridgewell/gen-mapping": "0.4.0-beta.0", "@jridgewell/trace-mapping": "^0.3.31", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-/pcanjdRsonCexCuxgGD8fKnBLLzk2i9uM4kmcmGyyev2R5YDs+rafMYZ89RvaGY1mW8T7C5au0TyYaEeHBGng=="], + + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@8.0.6", "", { "dependencies": { "@babel/compat-data": "^8.0.5", "@babel/helper-validator-option": "^8.0.0", "browserslist": "^4.24.0", "flru": "1.0.2", "verkit": "^0.3.2" } }, "sha512-HTrtZ4+iA0+kzdbCgvdSk1U4pEl3BvpGnlUbualCGNbrVhhQvhgBzurTUmqpWyvyHbWYWaIfdx2mOlL9LJjsew=="], + + "@babel/helper-globals": ["@babel/helper-globals@8.0.6", "", {}, "sha512-OdnA/N52LhzFpeUuVz5YGuSWjc7TPHiFmVYZbPlSgExocO2GwbxVpSni9MVs5wwW+wZ4kPuwBEBN9pIPDYz1mA=="], + + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@8.0.1", "", { "peerDependencies": { "@babel/core": "^8.0.0" } }, "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.6", "", {}, "sha512-+6HYEBnsDRZHJtUTAEfMQd0zMDqdFHS7C+5vAsEZqBUr3vEMWOWlHJ0Jz1gS8jJIlCvLsuA6ivmeoqzH936YcA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.6", "", {}, "sha512-HYx0YmuchRxRSpnjvcNffnPS8DCauKNmnumIuHG3jnQAVewRA7kfJGwF13ayEpSZs7s4R/oBH4eppuXcAQd5JQ=="], + + "@babel/helper-validator-option": ["@babel/helper-validator-option@8.0.0", "", {}, "sha512-U4Dybxh4WESWHt5XhBeExi4DrY0/DNK1aHpQbsrQXCUbFHuMweT0TpLEWKvaraV2Y6fS+ZXunsZ8zIuZIgvF2Q=="], + + "@babel/helpers": ["@babel/helpers@8.0.5", "", { "dependencies": { "@babel/template": "^8.0.0", "@babel/types": "^8.0.5" } }, "sha512-fQtPOXjYOYv85PIdwotp2TJGVYOycX0PQq+l844fFAxOULtBy8BVF35GyeueX0r4KvDthqPH5xAI1clQPk/2uA=="], + + "@babel/parser": ["@babel/parser@8.0.6", "", { "dependencies": { "@babel/types": "^8.0.6" }, "bin": "./bin/babel-parser.js" }, "sha512-LpGDIYJAzc3Y3PT9x+FxBrGYu2PlWxLmyN7SwPTzaX0LSwEmFJBsRnPBqmaXF2r1v+Zhz6lNiEJ+7yKtM5+Ugg=="], + + "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@8.0.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^8.0.1" }, "peerDependencies": { "@babel/core": "^8.0.0" } }, "sha512-jmTPwps7oSQSZaV1SxkQ3C12UWyufGysGc5OzDpZzvPAIX4mO7dJT3hoqkWVrSImvkcMiknir1iLN1SNV/CZzg=="], + + "@babel/template": ["@babel/template@8.0.0", "", { "dependencies": { "@babel/code-frame": "^8.0.0", "@babel/parser": "^8.0.0", "@babel/types": "^8.0.0" } }, "sha512-eAD0QW/AlbamBbw0FeGiwasbCVPq5ncW0HNVyLP3B9czqLyh4gvw+5JTSNt6le9+ziAU7mqDZsKTHf3jTb4chQ=="], + + "@babel/traverse": ["@babel/traverse@8.0.6", "", { "dependencies": { "@babel/code-frame": "^8.0.6", "@babel/generator": "^8.0.6", "@babel/helper-globals": "^8.0.6", "@babel/parser": "^8.0.6", "@babel/template": "^8.0.0", "@babel/types": "^8.0.6", "obug": "^2.1.1" } }, "sha512-ilYV+qLStGzSKLipJlETdvdtpK3rAuwfCmCoGKv15MU4EoeIuLkespSNoNLFGOPSciEHx9TLWtN5mv0fz5w5mQ=="], + + "@babel/types": ["@babel/types@8.0.6", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.6", "@babel/helper-validator-identifier": "^8.0.6" } }, "sha512-c+xgSWboV2pdwXP67BUWDVRHi2BO5Q3KwxyFVs7taVTY+fsK47/L51ZXQoV9rozHJDNHvJ4v4WEsI/IlxV2l2A=="], + + "@cacheable/memory": ["@cacheable/memory@2.2.0", "", { "dependencies": { "@cacheable/utils": "^2.5.0", "@keyv/bigmap": "^1.3.1", "hookified": "^1.15.1", "keyv": "^5.6.0" } }, "sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ=="], + + "@cacheable/utils": ["@cacheable/utils@2.5.0", "", { "dependencies": { "hashery": "^1.5.1", "keyv": "^5.6.0" } }, "sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.10.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], + + "@eslint/config-array": ["@eslint/config-array@0.23.5", "", { "dependencies": { "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" } }, "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.7.0", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw=="], + + "@eslint/core": ["@eslint/core@1.2.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ=="], + + "@eslint/object-schema": ["@eslint/object-schema@3.0.5", "", {}, "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.3", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q=="], + + "@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="], + + "@humanfs/node": ["@humanfs/node@0.16.8", "", { "dependencies": { "@humanfs/core": "^0.19.2", "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ=="], + + "@humanfs/types": ["@humanfs/types@0.15.0", "", {}, "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.4.0-beta.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.6.0-beta.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-JdGNkbE4GlNPYQhM0L95fBQr7ctLZJ276QXQLTad4t1oSdnnCI3fDq9DW3BqYAWv8Wc3+HS+4Gsii1oPMCfz1w=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.6.0", "", {}, "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@keyv/bigmap": ["@keyv/bigmap@1.3.1", "", { "dependencies": { "hashery": "^1.4.0", "hookified": "^1.15.0" }, "peerDependencies": { "keyv": "^5.6.0" } }, "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ=="], + + "@keyv/serialize": ["@keyv/serialize@1.1.1", "", {}, "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA=="], "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, ""], @@ -49,21 +123,29 @@ "@sentry/conventions": ["@sentry/conventions@0.16.0", "", {}, "sha512-fO9PLmHdVURcSPUpWCItWAtgKiMwGdJHbovoSEyLplX5sxs2ugvI4CBPTrkkgqhObnZOD0CnWBKDzSVQYBKEyQ=="], - "@sentry/core": ["@sentry/core@10.69.0", "", { "dependencies": { "@sentry/conventions": "^0.16.0" } }, "sha512-+uuqVEeiDzYuAKjZLqsROKXvRTbl/QeH0gfGRtpYib1cud4rAFWRIkFmcR7Jb7JGFYwmReyQotiTj/hcDszTZg=="], + "@sentry/core": ["@sentry/core@10.75.1", "", { "dependencies": { "@sentry/conventions": "^0.16.0" } }, "sha512-+/+UanewqPK+oJvDQIHWKLUqnsa0iymEThOPCaFBA8ulbQh9k8lsz8V+NtJwP4G3ncclfzp15tzqVwn6iugV4Q=="], - "@sentry/node": ["@sentry/node@10.69.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.1", "@opentelemetry/instrumentation": "^0.220.0", "@opentelemetry/sdk-trace-base": "^2.9.0", "@sentry/conventions": "^0.16.0", "@sentry/core": "10.69.0", "@sentry/node-core": "10.69.0", "@sentry/opentelemetry": "10.69.0", "@sentry/server-utils": "10.69.0", "import-in-the-middle": "^3.0.0" } }, "sha512-xEXA1YGIiTZbrW6MWV34uS6JGQuQg2ijTI0zed+FsJb9JZKPYel/GZK8Km26vfTVb+yCXFmWZNBesKegNcVdzg=="], + "@sentry/node": ["@sentry/node@10.75.1", "", { "dependencies": { "@opentelemetry/api": "^1.9.1", "@opentelemetry/instrumentation": "^0.220.0", "@opentelemetry/sdk-trace-base": "^2.9.0", "@sentry/conventions": "^0.16.0", "@sentry/core": "10.75.1", "@sentry/node-core": "10.75.1", "@sentry/opentelemetry": "10.75.1", "@sentry/server-utils": "10.75.1", "import-in-the-middle": "^3.0.0" } }, "sha512-qiWGwh0KiBoq4vEl0FbxFKw0xnOKxuKCaEVdtwMZLAGw1ef77NOCdie7e/Fmcsk9c++Ck4D8NmIjQm6BidRVSQ=="], - "@sentry/node-core": ["@sentry/node-core@10.69.0", "", { "dependencies": { "@sentry/conventions": "^0.16.0", "@sentry/core": "10.69.0", "@sentry/opentelemetry": "10.69.0", "import-in-the-middle": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^1.30.1 || ^2.1.0", "@opentelemetry/exporter-trace-otlp-http": ">=0.57.0 <1", "@opentelemetry/instrumentation": ">=0.57.1 <1", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0" }, "optionalPeers": ["@opentelemetry/exporter-trace-otlp-http"] }, "sha512-IgArHczrZJxkgxoffHscj0NxQrG6kCazgmGQnlf3j58J1ec21YaUu8Tu+7G4Lo5tCiW3teQnwlKW1ttMXSqWRw=="], + "@sentry/node-core": ["@sentry/node-core@10.75.1", "", { "dependencies": { "@sentry/conventions": "^0.16.0", "@sentry/core": "10.75.1", "@sentry/opentelemetry": "10.75.1", "import-in-the-middle": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^1.30.1 || ^2.1.0", "@opentelemetry/exporter-trace-otlp-http": ">=0.57.0 <1", "@opentelemetry/instrumentation": ">=0.57.1 <1", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0" }, "optionalPeers": ["@opentelemetry/api", "@opentelemetry/core", "@opentelemetry/exporter-trace-otlp-http", "@opentelemetry/instrumentation", "@opentelemetry/sdk-trace-base"] }, "sha512-HR0Iy7oNFOP26cwaRi33ZZnvlUSMFzXbZoRgYtBAkqUHDNQA6LWG1N1OoIdKNRJzDkGu/zefbM50Amqgyy1u1Q=="], - "@sentry/opentelemetry": ["@sentry/opentelemetry@10.69.0", "", { "dependencies": { "@sentry/conventions": "^0.16.0", "@sentry/core": "10.69.0" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^1.30.1 || ^2.1.0", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0" } }, "sha512-3FyWV6YcEJuvLrlaKGE1dHXCI+1YO0a62w7PkwlRg8yp6K6YXkmdwu9GjqaYD+Ju4tm7uC7mHIsGFQMm0M7pqQ=="], + "@sentry/opentelemetry": ["@sentry/opentelemetry@10.75.1", "", { "dependencies": { "@sentry/conventions": "^0.16.0", "@sentry/core": "10.75.1" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^1.30.1 || ^2.1.0", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0" } }, "sha512-leRKyFkEgV47Qo2wKCMEIYxPgnp67C+wYFg0GPreX5owRde0l18F5BEmsYUU57WAjBKBDo2idrrEEQaU15uH8g=="], - "@sentry/server-utils": ["@sentry/server-utils@10.69.0", "", { "dependencies": { "@apm-js-collab/code-transformer-bundler-plugins": "^0.7.3", "@apm-js-collab/tracing-hooks": "^0.13.0", "@sentry/conventions": "^0.16.0", "@sentry/core": "10.69.0", "meriyah": "^6.1.4" } }, "sha512-0MwHrA8+nNvMIsqf8m3cXwCBlUjr6AS7N6CZvHJtY1DkqEvQqEbD5VIrhzEyHN/KMZIgQ8XeDCQRhjnXFQGRhg=="], + "@sentry/server-utils": ["@sentry/server-utils@10.75.1", "", { "dependencies": { "@sentry/conventions": "^0.16.0", "@sentry/core": "10.75.1" } }, "sha512-HuA/bCtthA5x/AjYD5WUbG6CBcYJb0WAWKNgrgNkUWtll6eMqG3+7LO4PBcGRbZtlg1OFgClJm4iQFgRN7+ZZg=="], - "@toon-format/toon": ["@toon-format/toon@4.1.0", "", {}, ""], + "@toon-format/toon": ["@toon-format/toon@4.1.1", "", {}, "sha512-SGCkS7IjVpwRmGPgnY8ENKpAf0EdAnZDOQkvFW0d2cgOpdn9FEFl7sTgryESyypXrWr0YajHGpwsAUX4zw9ZvA=="], + + "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="], "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], - "@types/node": ["@types/node@26.1.2", "", { "dependencies": { "undici-types": "~8.3.0" } }, ""], + "@types/gensync": ["@types/gensync@1.0.5", "", {}, "sha512-MbsRCT7mTikHwKZ0X+LVUTLRrZZRLipTuXEO9qOYO+zmjMVk81axyClMROf6uoPD9MRVu46bx8zoR0Ad9q3NAg=="], + + "@types/jsesc": ["@types/jsesc@2.5.1", "", {}, "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/node": ["@types/node@26.6.4", "", { "dependencies": { "undici-types": "~8.9.0" } }, "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg=="], "@typescript/typescript-aix-ppc64": ["@typescript/typescript-aix-ppc64@7.0.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ=="], @@ -105,68 +187,204 @@ "@typescript/typescript-win32-x64": ["@typescript/typescript-win32-x64@7.0.2", "", { "os": "win32", "cpu": "x64" }, "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g=="], - "@unbrained/pm-cli": ["@unbrained/pm-cli@2026.8.1", "", { "dependencies": { "@sentry/node": "10.69.0", "@toon-format/toon": "^4.1.0", "@types/node": ">=22", "commander": "^15.0.0", "fast-glob": "^3.3.3", "fast-json-patch": "^3.1.1", "npm-package-arg": "^13.0.2" }, "peerDependencies": { "typebox": "*" }, "optionalPeers": ["typebox"], "bin": { "pm": "dist/cli.js", "pm-cli": "dist/cli.js", "pm-mcp": "dist/mcp/server.js" } }, "sha512-w2P5k15wE7Mm6FXfnDYnEYSUmzc33PEJAccQUrO4k51gNnH925YRzNxJFGqPjaQlc/1APGmSV7a/NNtTbBMPyg=="], + "@unbrained/pm-cli": ["@unbrained/pm-cli@2026.9.29", "", { "dependencies": { "@sentry/node": "10.75.1", "@toon-format/toon": "^4.1.1", "@types/node": ">=22", "commander": "^15.0.0", "fast-glob": "^3.3.3", "fast-json-patch": "^3.1.1", "npm-package-arg": "^13.0.2", "tar": "7.5.22", "yaml": "^2.9.1" }, "bin": { "pm": "dist/cli.js", "pm-cli": "dist/cli.js", "pm-mcp": "dist/mcp/server.js", "pm-mcp-http": "dist/mcp/http-server.js" } }, "sha512-dkWT7u42PhKVbignagfdvwiLkIIo1pzsX4zetaKuwIXK68yyv6JqnYJ0fndRNNqTCEFUZOx7ArW3USE7f1tg1A=="], + + "acorn": ["acorn@8.18.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - "astring": ["astring@1.9.0", "", { "bin": "bin/astring" }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], + "ajv": ["ajv@6.15.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw=="], + + "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.11.27", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-ElY12DaROGuan+lMmZ8Cvo/ZUbXPe7Enc/9VU/b1T3Kp4dwytRcNdR8DoSJN5SNJT/CuvcCA0DHDVmMOCePdRQ=="], + + "brace-expansion": ["brace-expansion@5.0.12", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ=="], "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, ""], + "browserslist": ["browserslist@4.29.3", "", { "dependencies": { "baseline-browser-mapping": "^2.11.26", "caniuse-lite": "^1.0.30001813", "electron-to-chromium": "^1.5.439", "node-releases": "^2.0.57", "update-browserslist-db": "^1.3.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-1R4kiYKXGViqEN0CnoDrXc1StD9niAwu+j2dukWzrD4bJgsD4lDmEp0CRbc6E/vYJIfTHwPmwyaKtVSudICdPA=="], + + "cacheable": ["cacheable@2.5.0", "", { "dependencies": { "@cacheable/memory": "^2.2.0", "@cacheable/utils": "^2.5.0", "hookified": "^1.15.0", "keyv": "^5.6.0", "qified": "^0.10.1" } }, "sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001814", "", {}, "sha512-/Uaf1lAzr59XcMpW0o96WoEfr+VXK2OX4U9AgFoiSHsVJ4HppnIFUjtYzsyDH2+tgANaQb2/oxYGwCPapN1FpA=="], + + "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], + "cjs-module-lexer": ["cjs-module-lexer@2.2.0", "", {}, "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ=="], "commander": ["commander@15.0.0", "", {}, ""], + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.444", "", {}, "sha512-5ss/uJfoDYDHT0lfJzT6FbcskIzROIOPf0BbbFkGcvDzoJU7i//9GDrwwIHQVmIsrAGiF3ihpADBRIsrEFt1rQ=="], + + "empathic": ["empathic@2.1.0", "", {}, "sha512-AnfC1ATldl49/cvZdLPDjBfrRNwbDO05aibiOtzQu3qtlbJtomNLhF30HEtn/7iBz50dlMECqATo3fG0LrdEgw=="], + "es-module-lexer": ["es-module-lexer@2.3.1", "", {}, "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@10.11.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.3", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "11.1.5 || >11.1.6 <12", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ=="], + + "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="], + + "espree": ["espree@11.2.0", "", { "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^5.0.1" } }, "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw=="], + "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="], + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, ""], "fast-json-patch": ["fast-json-patch@3.1.1", "", {}, ""], + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, ""], + "file-entry-cache": ["file-entry-cache@11.1.5", "", { "dependencies": { "flat-cache": "^6.1.23" } }, "sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q=="], + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, ""], - "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, ""], + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@6.1.23", "", { "dependencies": { "cacheable": "^2.5.0", "flatted": "^3.4.2", "hookified": "^1.15.0" } }, "sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA=="], + + "flatted": ["flatted@3.4.4", "", {}, "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q=="], + + "flru": ["flru@1.0.2", "", {}, "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog=="], + + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "hashery": ["hashery@1.5.1", "", { "dependencies": { "hookified": "^1.15.0" } }, "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ=="], + + "hookified": ["hookified@1.15.1", "", {}, "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg=="], "hosted-git-info": ["hosted-git-info@9.0.3", "", { "dependencies": { "lru-cache": "^11.1.0" } }, ""], + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + "import-in-the-middle": ["import-in-the-middle@3.3.3", "", { "dependencies": { "cjs-module-lexer": "^2.2.0", "es-module-lexer": "^2.2.0", "module-details-from-path": "^1.0.4" } }, "sha512-AiohS3H80sXO6owEltjGX+glb7qXaDhBoJb9XcQVH4UI207xu/bDLUcadVKp7Qe576reg9yr/PXZjV5qx8gfbA=="], + "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + "is-extglob": ["is-extglob@2.1.1", "", {}, ""], "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, ""], "is-number": ["is-number@7.0.0", "", {}, ""], - "lru-cache": ["lru-cache@11.5.2", "", {}, ""], + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], - "merge2": ["merge2@1.4.1", "", {}, ""], + "js-tokens": ["js-tokens@10.0.0", "", {}, "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q=="], + + "jscpd": ["jscpd@5.4.0", "", { "optionalDependencies": { "jscpd-darwin-arm64": "5.4.0", "jscpd-darwin-x64": "5.4.0", "jscpd-linux-arm64-gnu": "5.4.0", "jscpd-linux-arm64-musl": "5.4.0", "jscpd-linux-x64-gnu": "5.4.0", "jscpd-linux-x64-musl": "5.4.0", "jscpd-windows-arm64-msvc": "5.4.0", "jscpd-windows-x64-msvc": "5.4.0" }, "bin": { "jscpd": "run-jscpd.js" } }, "sha512-6mU8OHff4rPJ3D5lIsQns82/aQhDas22gMsGurHx1wcrfXWOZDNaobi6rKhLevo+77ntWKUXOwtM6lcrkJeL7w=="], + + "jscpd-darwin-arm64": ["jscpd-darwin-arm64@5.4.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-fNIDtNn9WE4YXoFoqf+3tkHb1+GaKKOeKzh77Wx61Gfa9iDxlCv5rO0Fjy7oWmGehUUKqslDaeXXtn/RoDprCg=="], + + "jscpd-darwin-x64": ["jscpd-darwin-x64@5.4.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-bxlnCVEb69SGIsas1+PaqZyFY8iYVTVjCBxfjVD74UafX115Ysw+oO9LAlsJaGsKUnK8Zsq5bhM33kBHux6bTA=="], + + "jscpd-linux-arm64-gnu": ["jscpd-linux-arm64-gnu@5.4.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-c4hX5QjuRyzLFJ+A+jNGHRpGlDvxcx+zzs4RJmZHpl23istuTMIkelwTOWliF4gXOm0RWXDlX/ywWKr9+Lre7w=="], + + "jscpd-linux-arm64-musl": ["jscpd-linux-arm64-musl@5.4.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-p4FUCNyL8WPTlizdZqfjontFwJ/+jnERYM2+YX2miYvm0NxzsIi23MhfzPl/eUHxkiT5wethV0NRYEAkJr999Q=="], + + "jscpd-linux-x64-gnu": ["jscpd-linux-x64-gnu@5.4.0", "", { "os": "linux", "cpu": "x64" }, "sha512-44NXS0gtYbjBCc53Gwilgj7PPwnWv9YTF/rGc0ZfnFcpzSoOKKU11yH+qHfCVie1hHte1wHyZ1f9Kjc8nGe2/g=="], + + "jscpd-linux-x64-musl": ["jscpd-linux-x64-musl@5.4.0", "", { "os": "linux", "cpu": "x64" }, "sha512-m9XHj14Zwia9RjWDkHDrl6VJ3W/b7m8qjFqjhcJ668Vkxoj4Ri/qeo0bo6is+fSw+bYxYexV6xxqIKRDolc8Lg=="], + + "jscpd-windows-arm64-msvc": ["jscpd-windows-arm64-msvc@5.4.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-AoP5RXyb9gIf8xmFwAc+Rgh4XJNyX1upcD+R1A6u4XjsDo2/oF+KKB4dtKnG2DbFQ+0fyFg/ClOcw+asQZJfPg=="], + + "jscpd-windows-x64-msvc": ["jscpd-windows-x64-msvc@5.4.0", "", { "os": "win32", "cpu": "x64" }, "sha512-dYkb5mAo5i7fjrtf2Ft6z9a/I38RJMd4JirEgJiW2BIv5pAGmfMVPDy1xEXL3hJqraXzeMIfnzqJFanefCyC6g=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "keyv": ["keyv@5.6.0", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lru-cache": ["lru-cache@11.5.2", "", {}, ""], - "meriyah": ["meriyah@6.1.4", "", {}, "sha512-Sz8FzjzI0kN13GK/6MVEsVzMZEPvOhnmmI1lU5+/1cGOiK3QUahntrNNtdVeihrO7t9JpoH75iMNXg6R6uWflQ=="], + "merge2": ["merge2@1.4.1", "", {}, ""], "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, ""], + "minimatch": ["minimatch@10.2.6", "", { "dependencies": { "brace-expansion": "^5.0.8" } }, "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A=="], + + "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], + + "minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="], + "module-details-from-path": ["module-details-from-path@1.0.4", "", {}, "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "node-releases": ["node-releases@2.0.57", "", {}, "sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw=="], + "npm-package-arg": ["npm-package-arg@13.0.2", "", { "dependencies": { "hosted-git-info": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^7.0.0" } }, ""], + "obug": ["obug@2.2.1", "", {}, "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + "picomatch": ["picomatch@2.3.2", "", {}, ""], - "pm-changelog": ["pm-changelog@2026.8.1", "", { "peerDependencies": { "@unbrained/pm-cli": ">=2026.7.29" }, "bin": "dist/cli.js" }, "sha512-k4aLG/RUMT+xkQ0X1mdWZsprsFax3S9Ac//QVC35aYWC0ExzQZETPIcwS9Pt1VmV0mIsqja7oXHG6XTWK7fLmw=="], + "pm-changelog": ["pm-changelog@2026.9.25", "", { "peerDependencies": { "@unbrained/pm-cli": ">=2026.8.20" }, "bin": { "pm-changelog": "dist/cli.js" } }, "sha512-j2l97jlJIfuMiB7KDi7oIr9MWxdQvqnDx/JwE3pxC31fDw3MywnSmaTcE9/gV6sVlZbQkOSxnxooHzDwRo+1+g=="], + + "pm-ops": ["pm-ops@2026.9.28", "", { "dependencies": { "@toon-format/toon": "^4.1.0", "typescript": "7.0.2" }, "peerDependencies": { "@babel/eslint-parser": "^8.0.5", "@babel/plugin-syntax-typescript": "^8.0.3", "@unbrained/pm-cli": ">=2026.8.20", "eslint": "^10.10.0", "fast-glob": "^3.3.3", "jscpd": ">=4.3.0 <6.0.0" }, "optionalPeers": ["@babel/eslint-parser", "@babel/plugin-syntax-typescript", "eslint", "fast-glob", "jscpd"] }, "sha512-MjsVk6uGYz8X3OxVuBHuBUEjcoUb3ubqSCG/hWvYOlj8AI8gbc3IPsIUGfDECH6WYP63B8hYjvc6Ahv3DdbIyQ=="], - "pm-ops": ["pm-ops@2026.8.1", "", { "dependencies": { "@toon-format/toon": "^4.1.0", "typescript": "7.0.2" }, "peerDependencies": { "@unbrained/pm-cli": ">=2026.7.31" } }, "sha512-CzRQ+2xWZOi/oShPuA+mC6KL1rZLKOqyd2oEj/WlfQltbCXdwHck3XaJPtY025ZNTOMr8mGsEvmba5fzyF+OGg=="], + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], "proc-log": ["proc-log@6.1.0", "", {}, ""], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "qified": ["qified@0.10.1", "", { "dependencies": { "hookified": "^2.1.1" } }, "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA=="], + "queue-microtask": ["queue-microtask@1.2.3", "", {}, ""], "require-in-the-middle": ["require-in-the-middle@8.0.1", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3" } }, "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ=="], @@ -175,18 +393,44 @@ "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, ""], - "semifies": ["semifies@1.0.0", "", {}, "sha512-xXR3KGeoxTNWPD4aBvL5NUpMTT7WMANr3EWnaS190QVkY52lqqcVRD7Q05UVbBhiWDGWMlJEUam9m7uFFGVScw=="], - "semver": ["semver@7.8.5", "", { "bin": "bin/semver.js" }, ""], - "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "tar": ["tar@7.5.22", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA=="], "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, ""], + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + "typescript": ["typescript@7.0.2", "", { "optionalDependencies": { "@typescript/typescript-aix-ppc64": "7.0.2", "@typescript/typescript-darwin-arm64": "7.0.2", "@typescript/typescript-darwin-x64": "7.0.2", "@typescript/typescript-freebsd-arm64": "7.0.2", "@typescript/typescript-freebsd-x64": "7.0.2", "@typescript/typescript-linux-arm": "7.0.2", "@typescript/typescript-linux-arm64": "7.0.2", "@typescript/typescript-linux-loong64": "7.0.2", "@typescript/typescript-linux-mips64el": "7.0.2", "@typescript/typescript-linux-ppc64": "7.0.2", "@typescript/typescript-linux-riscv64": "7.0.2", "@typescript/typescript-linux-s390x": "7.0.2", "@typescript/typescript-linux-x64": "7.0.2", "@typescript/typescript-netbsd-arm64": "7.0.2", "@typescript/typescript-netbsd-x64": "7.0.2", "@typescript/typescript-openbsd-arm64": "7.0.2", "@typescript/typescript-openbsd-x64": "7.0.2", "@typescript/typescript-sunos-x64": "7.0.2", "@typescript/typescript-win32-arm64": "7.0.2", "@typescript/typescript-win32-x64": "7.0.2" }, "bin": { "tsc": "bin/tsc" } }, ""], - "undici-types": ["undici-types@8.3.0", "", {}, ""], + "undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="], + + "update-browserslist-db": ["update-browserslist-db@1.3.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], "validate-npm-package-name": ["validate-npm-package-name@7.0.2", "", {}, ""], + + "verkit": ["verkit@0.3.2", "", {}, "sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + + "yaml": ["yaml@2.9.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, ""], + + "qified/hookified": ["hookified@2.2.0", "", {}, "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA=="], } } From 17f2d46c0f26279778412ca1250d0aaea15eddef Mon Sep 17 00:00:00 2001 From: SteveBot <1153461+unbraind@users.noreply.github.com> Date: Sat, 3 Oct 2026 01:43:10 +0200 Subject: [PATCH 11/11] Align fixed transitive lock and record RL package verification --- .agents/pm/chores/pm-rl-hncb.toon | 60 ++++++++++++++++++++++------- .agents/pm/history/pm-rl-hncb.jsonl | 8 ++++ package-lock.json | 6 +-- 3 files changed, 57 insertions(+), 17 deletions(-) diff --git a/.agents/pm/chores/pm-rl-hncb.toon b/.agents/pm/chores/pm-rl-hncb.toon index efdde621..72602787 100644 --- a/.agents/pm/chores/pm-rl-hncb.toon +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -6,14 +6,17 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-26T19:59:42.997Z" -updated_at: "2026-10-02T18:52:29.434Z" +updated_at: "2026-10-02T23:43:10.577Z" author: codex acceptance_criteria: "Package and lockfile pin published PM CLI 2026.9.29; full direct release:check and strict tracker health pass on installed dependencies; packed npm and Bun extension acceptance with CLI 2026.9.29 is measured; PR links this item and records independent review, publication and recursive-training limitations." parent: pm-rl-apvf -comments[3]{created_at,author,text}: +actual_result: "npm ci and direct npm run release:check PASS: 329/329 tests, zero skipped; independently measured statements/lines/branches/functions 100/100/100/100 across 20 sources; 136 documented declarations. Lint/duplicates/publish-attestation/identity audit/production audit/pack/changelog pass. Strict CI health, pm validate, Bun install and focused linked launcher test 6/6 pass. Red all-dependency audit found one high brace-expansion advisory; npm lock patch 5.0.9 to 5.0.12 now matches existing Bun lock, final audit zero and exact PM tool pins unchanged. Full gate ran directly because pm-cli#1318 affects PM full-suite sandbox; focused linked tests use PM. Durable controller remains unshipped in pm-rl-apvf. History prefixes preserved; exact-head CI and substantive review remain separate, item released in_progress, no closure or publication." +comments[5]{created_at,author,text}: "2026-09-28T06:51:05.996Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts in 29e11d7 (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops). release:check and changelog:check pass on this branch. Acceptance criteria and the launcher link note now name pm-ops 2026.9.28; the dated 2026.9.26 notes above stay as historical results." "2026-10-02T18:22:43.959Z",pi-land-a,"Merge-readiness verification pass by pi-land-a (fleet PR landing session): exact head 9fe6606 is mergeable and CLEAN against origin/main; Node 22/26, CodeQL CI green; all five review threads resolved; re-requested the bot review window because CodeRabbit's prior full-review attempt on this head failed with an internal error (issuecomment-5891308945) and Greptile/Gemini are not active on this repository." "2026-10-02T18:52:29.433Z",pi-land-a,"Cubic review (new head 9a2b201) findings on this candidate: (1) valid - the tracked bun.lock still resolved @unbrained/pm-cli, pm-changelog and pm-ops at 2026.8.1; regenerated with bun 1.3.5 so it now resolves the exact pins 2026.9.29/2026.9.25/2026.9.28. (2) valid - the v2026.9.28 release link was mislabeled 'used by this candidate'; relabeled as the earlier heads' SDK, superseded by 2026.9.29. Refused with reasons in their threads: the lstatSync/require.resolve.paths launcher probes are the byte-identical published pm-ops template (upstream pm-ops issue filed), and the npm pack final-line parse uses --ignore-scripts so prepare output cannot follow the archive name, with an exact-regex assertion that fails loudly otherwise. Full npm run release:check after the changes passed 329/329 with 100/100/100/100 measured coverage over 20 sources and zero production audit findings." + "2026-10-02T23:37:38.478Z",codex-sol,"Restart codex-sol: retained c8a640a is pushed/clean; current REST PR/comment/review/inline read shows no new bot artifact. Revalidate direct full release:check on published CLI 2026.9.29 and canonical pm-ops 2026.9.28; strict health, Bun and bounded audit patch checks. Keep full suite outside PM linked sandbox (pm-cli#1318); link/run focused launcher test. Durable recursive controller remains open under pm-rl-apvf. Earlier review dispositions and histories are preserved." + "2026-10-02T23:43:09.924Z",codex-sol,"npm ci and direct npm run release:check PASS: 329/329 tests, zero skipped; independently measured statements/lines/branches/functions 100/100/100/100 across 20 sources; 136 documented declarations. Lint/duplicates/publish-attestation/identity audit/production audit/pack/changelog pass. Strict CI health, pm validate, Bun install and focused linked launcher test 6/6 pass. Red all-dependency audit found one high brace-expansion advisory; npm lock patch 5.0.9 to 5.0.12 now matches existing Bun lock, final audit zero and exact PM tool pins unchanged. Full gate ran directly because pm-cli#1318 affects PM full-suite sandbox; focused linked tests use PM. Durable controller remains unshipped in pm-rl-apvf. History prefixes preserved; exact-head CI and substantive review remain separate, item released in_progress, no closure or publication." notes[9]{created_at,author,text}: "2026-09-26T20:06:25.026Z",codex,"Initial pm test linked release gate failed because the default schema sandbox injected PM_PATH into npm tests that initialize their own temporary trackers; direct release:check reached a real canonical-launcher mismatch with pm-ops 2026.9.26. Updated the launcher from the installed canonical template. Both observations are distinct; revalidation follows." "2026-09-26T20:15:33.662Z",codex,"2026-09-26: Direct npm run release:check on installed PM CLI/SDK 2026.9.26, pm-ops 2026.9.26 and pm-changelog 2026.9.25 passed 329/329 tests, 0 failures, 100.00% statements/lines/branches/functions over 20 authored source files, 136/136 documented declarations, zero duplication and zero npm production vulnerabilities. Packed pm-rl tarball installed and imported under npm/Node and Bun 1.3.5. PM linked bandit acceptance passed 14/14. Strict PM health ok=true with an existing provenance-value warning. Full linked npm test context limitation is upstream pm-cli#1318; direct full gate is the valid package result." @@ -24,13 +27,25 @@ notes[9]{created_at,author,text}: "2026-09-29T13:23:14.871Z",codex,"Fresh synthetic npm/npx and Bun/bunx projects installed the packed pm-rl 2026.7.31 archive alongside published CLI 2026.9.29, completed package install with copy.complete=true and activation, registered Grid World 3 from the packed example, listed it, and passed strict PM health with zero warnings. Direct release:check passed before the pin edit at code head 29c8242; rerunning it on the new exact dependency head follows." "2026-09-29T13:28:17.437Z",codex,"On installed repository-local @unbrained/pm-cli 2026.9.29, direct npm run release:check passed 329/329 tests with zero failures and skips, 20 reported authored sources at 100.00% statements/lines/branches/functions, 136 documented declarations, zero clones, zero production vulnerabilities, packed artifact, changelog and publish-attestation checks. This is source and toolchain certification only; pm-rl-apvf still owns the unshipped durable LLM controller. A new exact-head packed artifact and PR review follow after commit." "2026-09-29T13:29:25.687Z",codex,"Exact pushed head 4027888 was packed to a fresh archive. Independent npm/npx and Bun/bunx workspaces each installed published CLI 2026.9.29 and that archive, initialized a tracker, completed pm package install with copy.complete=true and activation, registered the packed Grid World 3 example with identical content hash, and passed strict PM health with zero warnings. The full direct release gate already passed on this same head before this evidence-only note. Review and pm-rl-apvf execution-controller gates remain open." -files[5]{path,scope,note}: - package-lock.json,project,Resolved PM toolchain lock - package.json,project,Exact PM toolchain pins - scripts/prepare-merge-driver.ts,project,Canonical pm-ops 2026.9.28 launcher - test/index.test.ts,project,Packed extension host-bound mutation acceptance - README.md,project,Current CLI floor and fresh-checkout GitHub extension setup -tests[2]: +files[6]: + - path: package-lock.json + scope: project + note: Resolved PM toolchain lock + - path: package.json + scope: project + note: Exact PM toolchain pins + - path: README.md + scope: project + note: Current CLI floor and fresh-checkout GitHub extension setup + - path: scripts/prepare-merge-driver.ts + scope: project + note: Canonical pm-ops 2026.9.28 launcher + - path: test/index.test.ts + scope: project + note: Packed extension host-bound mutation acceptance + - path: test/prepare-merge-driver.test.ts + scope: project +tests[3]: - command: node --test test/bandit.test.ts path: test/bandit.test.ts scope: project @@ -53,9 +68,26 @@ tests[2]: source_kind: local_mutation source_ref: chore/pm-rl-cli-sdk-2026-9-26 note: Packed extension host-bound mutation acceptance on the installed CLI -docs[4]{path,scope,note}: - "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28",global,"Published CLI and SDK used by the earlier heads of this candidate, superseded by 2026.9.29" - "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29",global,Published CLI SDK used by the refreshed candidate - "https://github.com/unbraind/pm-cli/issues/1318",project,Linked test sandbox issue - RECURSIVE_TRAINING.md,project,Controller scope remains open + - command: node --test test/prepare-merge-driver.test.ts + scope: project + provenance: + author: codex-sol + created_at: "2026-10-02T23:37:40.129Z" + source_kind: local_mutation + source_ref: land-54 +docs[5]: + - path: "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28" + scope: global + note: "Published CLI and SDK used by the earlier heads of this candidate, superseded by 2026.9.29" + - path: "https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29" + scope: global + note: Published CLI SDK used by the refreshed candidate + - path: "https://github.com/unbraind/pm-cli/issues/1318" + scope: project + note: Linked test sandbox issue + - path: README.md + scope: project + - path: RECURSIVE_TRAINING.md + scope: project + note: Controller scope remains open body: "" diff --git a/.agents/pm/history/pm-rl-hncb.jsonl b/.agents/pm/history/pm-rl-hncb.jsonl index cb79eaa6..884584c2 100644 --- a/.agents/pm/history/pm-rl-hncb.jsonl +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -32,3 +32,11 @@ {"hash_algorithm":"sha256","ts":"2026-10-02T18:44:31.263Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"docs_add","patch":[{"op":"remove","path":"/metadata/docs/3"},{"op":"replace","path":"/metadata/docs/2/note","value":"Controller scope remains open"},{"op":"replace","path":"/metadata/docs/2/path","value":"RECURSIVE_TRAINING.md"},{"op":"replace","path":"/metadata/docs/1/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/1/scope","value":"project"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:44:31.263Z"}],"before_hash":"59fcdf028c270bf8649711d59a11f4e68543137da05900c08a33961d5567f97b","after_hash":"fab9c47f19c071fdfeae2f6b6d5422e06b71af66830df2a41abe45981d009dd0","item_hash_version":3,"message":"Drop the mislabeled v2026.9.28 release link before re-adding it with a scope-correct note","event_class":"maintenance","record_hash_version":1,"record_hash":"811520ceabf55b2c22814b4ba676db532274634ba8676348172032cb684718b6"} {"hash_algorithm":"sha256","ts":"2026-10-02T18:44:33.254Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/2/note","value":"Linked test sandbox issue"},{"op":"replace","path":"/metadata/docs/2/path","value":"https://github.com/unbraind/pm-cli/issues/1318"},{"op":"replace","path":"/metadata/docs/1/note","value":"Published CLI SDK used by the refreshed candidate"},{"op":"replace","path":"/metadata/docs/1/scope","value":"global"},{"op":"replace","path":"/metadata/docs/1/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.29"},{"op":"replace","path":"/metadata/docs/0/note","value":"Published CLI and SDK used by the earlier heads of this candidate, superseded by 2026.9.29"},{"op":"replace","path":"/metadata/docs/0/path","value":"https://github.com/unbraind/pm-cli/releases/tag/v2026.9.28"},{"op":"add","path":"/metadata/docs/3","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:44:33.254Z"}],"before_hash":"fab9c47f19c071fdfeae2f6b6d5422e06b71af66830df2a41abe45981d009dd0","after_hash":"824cb08f2edb695c7e5803a99a5db7b08c54448da115450ff81f1b670a5bd048","item_hash_version":3,"message":"Record the v2026.9.28 link as historical for the refreshed 2026.9.29 candidate","event_class":"maintenance","record_hash_version":1,"record_hash":"d144fd64f808a1bbb537c441e1aee8b7b86b9144cc727da0d321a52e87a87f88"} {"hash_algorithm":"sha256","ts":"2026-10-02T18:52:29.434Z","author":"pi-land-a","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"8b5b1face24716eda4ebb7b0","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-02T18:52:29.433Z","author":"pi-land-a","text":"Cubic review (new head 9a2b201) findings on this candidate: (1) valid - the tracked bun.lock still resolved @unbrained/pm-cli, pm-changelog and pm-ops at 2026.8.1; regenerated with bun 1.3.5 so it now resolves the exact pins 2026.9.29/2026.9.25/2026.9.28. (2) valid - the v2026.9.28 release link was mislabeled 'used by this candidate'; relabeled as the earlier heads' SDK, superseded by 2026.9.29. Refused with reasons in their threads: the lstatSync/require.resolve.paths launcher probes are the byte-identical published pm-ops template (upstream pm-ops issue filed), and the npm pack final-line parse uses --ignore-scripts so prepare output cannot follow the archive name, with an exact-regex assertion that fails loudly otherwise. Full npm run release:check after the changes passed 329/329 with 100/100/100/100 measured coverage over 20 sources and zero production audit findings."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T18:52:29.434Z"}],"before_hash":"824cb08f2edb695c7e5803a99a5db7b08c54448da115450ff81f1b670a5bd048","after_hash":"9fa85096b24a96567184ad011ca1f844f0ef1eb926a5f1daa2da33196a07069b","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"5ca7d42d540a2c31893c05b43ea01b8bd18703283d2f01da40d37046ba206091"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:37:37.505Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"claim","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:37:37.505Z"},{"op":"add","path":"/metadata/assignee","value":"codex-sol"},{"op":"add","path":"/metadata/claim_principal","value":"codex-sol"}],"before_hash":"9fa85096b24a96567184ad011ca1f844f0ef1eb926a5f1daa2da33196a07069b","after_hash":"f461adb897df857dfd5828e4542a3e009c863b085453377825642e44c73d4776","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":"8af1b4029dcbf134248b406b7eec4c12e87a84bccf027c5552d8b71f3017926e"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:37:38.478Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","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-02T23:37:38.478Z","author":"codex-sol","text":"Restart codex-sol: retained c8a640a is pushed/clean; current REST PR/comment/review/inline read shows no new bot artifact. Revalidate direct full release:check on published CLI 2026.9.29 and canonical pm-ops 2026.9.28; strict health, Bun and bounded audit patch checks. Keep full suite outside PM linked sandbox (pm-cli#1318); link/run focused launcher test. Durable recursive controller remains open under pm-rl-apvf. Earlier review dispositions and histories are preserved."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:37:38.478Z"}],"before_hash":"f461adb897df857dfd5828e4542a3e009c863b085453377825642e44c73d4776","after_hash":"50b7a756f33cceb7f38836c185bd6b932c8eacfad38e7a130658daf8c618fe36","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":"d9687f27142cc23b452516ee29ecade29d63ddf603fa043f0830d4bd55106185"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:37:38.998Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","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/files/4/note","value":"Packed extension host-bound mutation acceptance"},{"op":"replace","path":"/metadata/files/4/path","value":"test/index.test.ts"},{"op":"replace","path":"/metadata/files/3/note","value":"Canonical pm-ops 2026.9.28 launcher"},{"op":"replace","path":"/metadata/files/3/path","value":"scripts/prepare-merge-driver.ts"},{"op":"replace","path":"/metadata/files/2/note","value":"Current CLI floor and fresh-checkout GitHub extension setup"},{"op":"replace","path":"/metadata/files/2/path","value":"README.md"},{"op":"add","path":"/metadata/files/5","value":{"path":"test/prepare-merge-driver.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:37:38.998Z"}],"before_hash":"50b7a756f33cceb7f38836c185bd6b932c8eacfad38e7a130658daf8c618fe36","after_hash":"dc4d1032fd16d2a921acc6d74012a3d998fec1b58e752f1de3f9b1736621cd98","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":"3598fc38d33dff86d979630c75d51b7470344006179c92013b714b3c6cdad903"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:37:39.514Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"remove","path":"/metadata/docs/3/note"},{"op":"replace","path":"/metadata/docs/3/path","value":"README.md"},{"op":"add","path":"/metadata/docs/4","value":{"path":"RECURSIVE_TRAINING.md","scope":"project","note":"Controller scope remains open"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:37:39.514Z"}],"before_hash":"dc4d1032fd16d2a921acc6d74012a3d998fec1b58e752f1de3f9b1736621cd98","after_hash":"f6f6aa471ef5956af09ef55cd7ee1c5606941c9d9ccbdf6db6cef79972bb70b9","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":"c4be87b975e24a288f6cfa1dfe68af0e87c89c35fe2a30bca4edf536bd2195a3"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:37:40.184Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","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/2","value":{"command":"node --test test/prepare-merge-driver.test.ts","scope":"project","provenance":{"author":"codex-sol","created_at":"2026-10-02T23:37:40.129Z","source_kind":"local_mutation","source_ref":"land-54"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:37:40.184Z"}],"before_hash":"f6f6aa471ef5956af09ef55cd7ee1c5606941c9d9ccbdf6db6cef79972bb70b9","after_hash":"352a1caa5a372a8b0d63c1ac40aab6054e456daaecb322b12185cf794d99bc1b","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":"a5c59368cfde4918c56e51f743b0c2c24cb40f72eb12a47a3a00fd70289d174e"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:43:09.069Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:43:09.069Z"},{"op":"add","path":"/metadata/actual_result","value":"npm ci and direct npm run release:check PASS: 329/329 tests, zero skipped; independently measured statements/lines/branches/functions 100/100/100/100 across 20 sources; 136 documented declarations. Lint/duplicates/publish-attestation/identity audit/production audit/pack/changelog pass. Strict CI health, pm validate, Bun install and focused linked launcher test 6/6 pass. Red all-dependency audit found one high brace-expansion advisory; npm lock patch 5.0.9 to 5.0.12 now matches existing Bun lock, final audit zero and exact PM tool pins unchanged. Full gate ran directly because pm-cli#1318 affects PM full-suite sandbox; focused linked tests use PM. Durable controller remains unshipped in pm-rl-apvf. History prefixes preserved; exact-head CI and substantive review remain separate, item released in_progress, no closure or publication."}],"before_hash":"352a1caa5a372a8b0d63c1ac40aab6054e456daaecb322b12185cf794d99bc1b","after_hash":"9e957f2a638ff3c61f2e7d10d11716dc20679f4bfb22b2ac1c0eeb519a596837","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":"7bedb319e893e5cbc40222b28f8d59f1ceff430b20731b1cf70e9de5273c00c5"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:43:09.924Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","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-02T23:43:09.924Z","author":"codex-sol","text":"npm ci and direct npm run release:check PASS: 329/329 tests, zero skipped; independently measured statements/lines/branches/functions 100/100/100/100 across 20 sources; 136 documented declarations. Lint/duplicates/publish-attestation/identity audit/production audit/pack/changelog pass. Strict CI health, pm validate, Bun install and focused linked launcher test 6/6 pass. Red all-dependency audit found one high brace-expansion advisory; npm lock patch 5.0.9 to 5.0.12 now matches existing Bun lock, final audit zero and exact PM tool pins unchanged. Full gate ran directly because pm-cli#1318 affects PM full-suite sandbox; focused linked tests use PM. Durable controller remains unshipped in pm-rl-apvf. History prefixes preserved; exact-head CI and substantive review remain separate, item released in_progress, no closure or publication."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-02T23:43:09.924Z"}],"before_hash":"9e957f2a638ff3c61f2e7d10d11716dc20679f4bfb22b2ac1c0eeb519a596837","after_hash":"53028dd9d5f6c0e1d28983fe858fc5b1808ba7d1ca550619f84709f05b37ce38","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":"0159bf419243aee904a468e2e935f53bbf4f5abb8db60cda66db3f1e1d7db5aa"} +{"hash_algorithm":"sha256","ts":"2026-10-02T23:43:10.577Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"cf8cf5479c4cacbd2109080d","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-02T23:43:10.577Z"}],"before_hash":"53028dd9d5f6c0e1d28983fe858fc5b1808ba7d1ca550619f84709f05b37ce38","after_hash":"65262e15e4bf3d32fa96cb91e011e543217298a76c0735f67b00be3e7d0bdd59","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":"cef13562fa06d37d6ceadff7537f7206b61db61266cf483d0cf2893ec9d7bd81"} diff --git a/package-lock.json b/package-lock.json index a39b254c..9dd2fe3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1309,9 +1309,9 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", "dev": true, "license": "MIT", "dependencies": {