diff --git a/.agents/pm/chores/pm-rl-1bpz.toon b/.agents/pm/chores/pm-rl-1bpz.toon new file mode 100644 index 00000000..ff7edc22 --- /dev/null +++ b/.agents/pm/chores/pm-rl-1bpz.toon @@ -0,0 +1,20 @@ +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-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[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." + "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 new file mode 100644 index 00000000..72602787 --- /dev/null +++ b/.agents/pm/chores/pm-rl-hncb.toon @@ -0,0 +1,93 @@ +id: pm-rl-hncb +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-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 +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." + "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." + "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[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 + 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 + - 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/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..cd165afe --- /dev/null +++ b/.agents/pm/history/pm-rl-1bpz.jsonl @@ -0,0 +1,8 @@ +{"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"} +{"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 new file mode 100644 index 00000000..884584c2 --- /dev/null +++ b/.agents/pm/history/pm-rl-hncb.jsonl @@ -0,0 +1,42 @@ +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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/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/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=="], } } diff --git a/package-lock.json b/package-lock.json index ebd4f5b7..9dd2fe3d 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.29", "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.28", "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.29", + "resolved": "https://registry.npmjs.org/@unbrained/pm-cli/-/pm-cli-2026.9.29.tgz", + "integrity": "sha512-dkWT7u42PhKVbignagfdvwiLkIIo1pzsX4zetaKuwIXK68yyv6JqnYJ0fndRNNqTCEFUZOx7ArW3USE7f1tg1A==", "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", @@ -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": { @@ -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.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 0990184f..fe93b0c5 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.29", "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.28", "typescript": "^7.0.2" }, "peerDependencies": { diff --git a/scripts/prepare-merge-driver.ts b/scripts/prepare-merge-driver.ts index 66e512e9..728ece4a 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,20 @@ 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 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"); + packagePresent = + !(probe instanceof Error && "code" in probe && probe.code === "MODULE_NOT_FOUND") || + resolver.resolve.paths("pm-ops/package.json")!.some( + (directory) => lstatSync(join(directory, "pm-ops"), { throwIfNoEntry: false }) !== undefined, + ); } if (packagePresent) throw error; } diff --git a/test/index.test.ts b/test/index.test.ts index 38b8991e..181bed09 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,21 @@ 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 packOutput = execFileSync(process.platform === "win32" ? "npm.cmd" : "npm", ["pack", "--ignore-scripts", "--silent", "--pack-destination", root], { + cwd: process.cwd(), + encoding: "utf8", + shell: process.platform === "win32", + }); + // 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", + }); 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 } }));