diff --git a/.agents/pm/chores/pm-web-8pml.toon b/.agents/pm/chores/pm-web-8pml.toon index 7f7bc53f..7d413c53 100644 --- a/.agents/pm/chores/pm-web-8pml.toon +++ b/.agents/pm/chores/pm-web-8pml.toon @@ -1,15 +1,16 @@ id: pm-web-8pml -title: "Certify pm-web on PM CLI SDK 2026.10.4, pm-changelog 2026.9.25 and pm-ops 2026.9.28" +title: Certify pm-web on PM CLI/SDK 2026.10.4 and consolidate pending dependency updates description: "Update PM CLI/SDK, pm-changelog, and pm-ops package and lockfile pins from 2026.9.23 to current registry releases, verify installed runtime versions, then rerun the complete release and packed npm/Bun acceptance gates. Keep the public package and private hosted deployment boundaries separate." type: Chore -status: blocked +status: in_progress priority: 2 tags: [] created_at: "2026-09-26T16:15:15.599Z" -updated_at: "2026-10-04T09:37:18.792Z" +updated_at: "2026-10-04T14:04:21.500Z" author: codex -acceptance_criteria: "package.json and package-lock.json resolve @unbrained/pm-cli 2026.10.4, pm-changelog 2026.9.25, and pm-ops 2026.9.28; local node_modules reports the same versions; npm run release:check passes; PM strict health passes; the PR names both package PM items and no hosted data is added." -comments[10]{created_at,author,text}: +acceptance_criteria: "Exact CLI2026.10.4 and latest pm-ops/pm-changelog/fleet pins, all devDependencies exact; absorb every pending dependency/workflow bump; full unchanged CI gate, strict pinned health, both audits clean, copied real-tracker packed npm/nativeBun acceptance, read-only managed pm-github preview; retain independent whole-source/privacy/hosted/reviewer boundaries and keep item open for orchestrator verification." +actual_result: "Full linked release:check411/411, zero skips; duplicate0/40537lines/142sources; coverage84.49/80.60/77.82 over32configuredfiles, statementsunmeasured. Canonical launcher7/7, workflow/catalog15/15 andlinkedscoped22/22; test-first actualCLI childinitializationregression1/1 preservesancestorbytes. Clean npmci+Buninstall/freshbuild pass; npm/nativeBun tarballdoctor/start/status/stop+authenticatedboard/export/graph all132realitems, completeexportdeep-equality andtrackerbytespreserved, scratch+PGstopped/deleted. Stricthealth0 with2stale advisoryitems; prod audit0/fullaudit4high blockedxucb; GitHubreadonlypreviewzerochanges; reviews pending." +comments[15]{created_at,author,text}: "2026-09-28T06:26:30.268Z",claude-hub,"2026-09-28: pinned pm-ops 2026.9.28 and re-copied its templates/prepare-merge-driver.ts (pm-ops#124: the omit-dev skip now checks every Node resolution path for an incomplete hoisted pm-ops, so a broken ancestor install fails instead of silently skipping the merge drivers). release:check and changelog:check pass on this branch." "2026-10-02T22:11:44.555Z",codex-sol,"Restart: current branch is already rebased on main; previous bot replies were inspected without repeating them. Greptile graph-export finding is an acknowledged security trade-off: GET/HEAD cannot run extension activation; pure export fidelity stays tracked in pm-web-38n5. Add a current graph regression receipt and run the unchanged full locked CI gate using PM_FLEET_ROOT. Existing coverage target and substantive reviews stay open; no Docker or hosted service changes." "2026-10-02T23:03:20.822Z",codex-sol,"Catalog fixes now yield 409/409 tests and unchanged configured coverage, but full gate fails production audit on transitive ip-address 10.5.0 via express-rate-limit ^10.2.0. GHSA-h3mg-xc3c-68pw affects <=10.7.0 and is patched >=10.7.1. Refresh only the transitive lockfile resolution within the existing range, retain all audit thresholds and SDK pins, reinstall reproducibly and rerun full locked gate. No hosted or telemetry/config changes." @@ -20,9 +21,30 @@ comments[10]{created_at,author,text}: "2026-10-02T23:47:58.329Z",codex-sol,"Review gate caught prefer-const in deferred server binding before tests ran. Corrected with a constant fixture-state holder and constant local server; retain early after hook, shutdown-order assertions and fail-safe restoration. Direct eslint invocation correctly refused absent ambient config; use the repository canonical lint wrapper via the unchanged full gate. No lint rule/config changed. Rerun with canonical fleet root and retain failed receipts." "2026-10-02T23:52:52.285Z",codex-sol,"Third/final candidate: constant fixture holder passes canonical lint and full unchanged release:check with explicit canonical fleet root: 409/409, zero skips, configured 32-source L/B/F 84.39/80.48/77.82. Production audit zero vulnerabilities, npm/Bun packed acceptance, changelog/date and attestation pass. Actual teardown-order assertion failed before the single hook fix, and focused/linked graph tests pass afterward. Four Cubic tracker corrections preserve history and explicitly keep extension-native response parity unmet. Record final source/receipt together, release claim; remaining source-100-percent, parity, hosted and required-review gates are independent. Max three review rounds; no item closure or merge." "2026-10-04T09:37:18.792Z",pi-land-s2,"Audit-driven SDK pin bump: GHSA-vfj7-8cjw-p6xm (updated 2026-10-02) flags every braces release <=3.0.3 with no patched version, and pm-cli 2026.9.26's production fast-glob chain reached it, so npm audit --omit=dev reported 4 high findings and the full gate failed at audit:prod. pm-cli 2026.10.3/2026.10.4 replaced fast-glob with tinyglobby (no braces), so package.json and the lockfile now resolve @unbrained/pm-cli 2026.10.4 (the registry's audit-recommended fix) and manifest.json's extension floor matches it per the packaging gate. Nothing else changed: pm-changelog 2026.9.25 and pm-ops 2026.9.28 pins are untouched, no audit threshold or gate was weakened, and the full locked release:check with the canonical fleet root passes 409/409 tests with zero skips, production audit at zero vulnerabilities, coverage thresholds met, packed npm/Bun acceptance and changelog/date/attestation checks green. Title and acceptance criteria updated to name the pin this branch now certifies, matching the earlier reviewer precedent." + "2026-10-04T13:44:22.815Z",codex-sol,"PR163 merged by orchestrator at13:42UTC (merge86c31b1); created certification branch from that new origin/main only. Reuse this existing open certification owner, exact required title, retain dated history. Absorb open Dependabot162/164/165/166, exact CodeQL v4.38.2 SHA2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 and latest npm pins. Upgrade ops/changelog10.4 and byte-copy published launcher; keep existing CLI/floor10.4. Full gate uses own disposable native PostgreSQL17.10 under sharedflock, noDocker/hosted/data/config changes. Existing whole-source ownerfy9a and privacy96 remain independent. Final rebase review metadata crossed orchestrator merge; cherry-picked own metadata commit into this consolidated PR and removed only the accidentally recreated remote branch under exact lease." + "2026-10-04T13:45:57.475Z",codex-sol,"Latest exact tool/development pins installed, pg8.23.1 incorporates165, tsx4.23.15 incorporates162, types26.6.4 supersedes166; CodeQL exact SHA/comment from164 copied. Malformed lookup regression failed oldlauncher(ENOTDIR) then canonicaltemplate passes7/7. Managedpm-github10.4 installed with read-only repo dry-run; no scheduling or issue writes. Productionaudit0, fullaudit4high throughunpatchedbraces/fastglob/pmops; separatefollow-upcreated, no forcedbreakingoverride/downgrade. Keep unchanged fullgate and independentqualityownerfy9a; disposable nativePG fixture queued under sharedflock." + "2026-10-04T13:52:56.405Z",codex-sol,"First full gate410tests failed408/410: workflow pin allowlist still named oldCodeQLSHA, and livefleetpm-ts-starter description nowSDK10.4. Updated exact allowlist from reviewedDependabotdiff; regenerated snapshot with npm run fleet:snapshot and canonicalPM_FLEET_ROOT (20extensions, registry reachable), preserved every catalog/source gate; focusedworkflow+catalog15/15pass. Mandatory packed acceptance exposed projectcreation500 beneathcopiedancestortracker. Installedtarball diagnostic reproduces CLI ancestor-init refusal; actualCLI regression failsoldimplementation. Fix explicitly initializes childworkspace with prefix and noninteractive defaults, preservesancestor settingsbytes. No --force/bypassedguard, no upstream defect claimed; repeat scoped/full/packed gates." + "2026-10-04T14:01:49.612Z",codex-sol,"Final fullgate passes411/411 zero skips, duplication0/40537 over142sources; configuredcoverage84.49L/80.60B/77.82F over32files, statementsunmeasured. Clean npmci+Buninstall andfreshbuild pass. Packedrealtracker npm/nativeBun bothdoctorOK,start/statusUP/healthy, authenticatedboard/export/observationalgraph all132items, exportvaluesdeep-equal, trackerbytespreserved, stop/statusDOWN; ownPGfixturestoppedanddeleted,scratchremoved. One acceptance retry compareddefaultopenbaseline21 tocompleteAPI132; correctedfixture to list--all, notapplication/assertions. Linkedscopedcatalog retry omittedPM_FLEET_ROOT and properlyrefusedworktreesassiblings; retainfailure, rerunwithcanonicalexplicitroot. Linkednpm auditswereexecutionerrors EALLOWSCRIPTS fromrunner-injectedallow_scripts, notsecurityfindings; directrechecks remainprod0/full4high. Clear only thatchildenvironment option for audit receipts." + "2026-10-04T14:04:18.787Z",codex-sol,"Durable certification document now records exact commands, before/after failures, gate411/411, complete132item copiedtracker acceptance throughnpm/nativeBun, scratch cleanup andscope boundaries. Corrected linked scoped run withcanonicalPM_FLEET_ROOT passes22/22, zero skips; actualCLI init linkedtest1/1pass. Linked audit wrappers produce real fullauditexit1/fourhigh andproductionexit0/allzero; earlierEALLOWSCRIPTS failures remain documented. Strict pinnedhealth exit0 withoneadvisoryfindingcovering2staleitems. Updated managedregistry andCI restoration; read-onlyGitHubdryrun synced0/skipped0/planned0. Release claim and keepchoreinprogressfororchestrator; dev auditxucb andrequiredreviews blockcertification." notes[1]{created_at,author,text}: "2026-09-26T16:23:28.535Z",codex,"2026-09-26: package runtime dependency and lock now exact-pin @unbrained/pm-cli 2026.9.26; dev tools pin pm-changelog 2026.9.25 and pm-ops 2026.9.26. Installed node_modules versions read back match. Extension manifest minimum host version is 2026.9.26. Copied the canonical pm-ops prepare launcher byte for byte after the first full gate correctly found drift. Focused real Git launcher tests passed 6/6, linked PM packaging/launcher test passed 1/1, and full npm run release:check passed including packed npm and Bun host versions 2026.9.26. pm-cli 2026.9.26 requires @sentry/node 10.75.1 transitively; the lockfile reflects that dependency while no telemetry source or configuration was changed. PR review, merge, hosted rollout, and 100% coverage remain separate gates." -files[5]: +files[19]: + - path: .agents/pm/extensions/.managed-extensions.json + scope: project + - path: .github/workflows/ci.yml + scope: project + - path: .github/workflows/codeql.yml + scope: project + - path: .gitignore + scope: project + - path: dist/services/pm-runner.d.ts + scope: project + - path: dist/services/pm-runner.js + scope: project + - path: dist/services/pm-runner.js.map + scope: project + - path: docs/certification-2026.10.4.md + scope: project - path: manifest.json scope: project note: minimum host CLI version @@ -32,12 +54,24 @@ files[5]: - path: package.json scope: project note: exact package dependency pins + - path: scripts/install-pm-github.sh + scope: project - path: scripts/prepare-merge-driver.ts scope: project note: canonical pm-ops launcher + - path: src/services/pm-runner.ts + scope: project + - path: test/fleet-extensions.snapshot.json + scope: project - path: test/graph-read-only.test.ts scope: project -tests[2]: + - path: test/pm-runner.test.ts + scope: project + - path: test/prepare-merge-driver.test.ts + scope: project + - path: test/workflow-security.test.ts + scope: project +tests[5]: - command: node --test test/packaging.test.ts test/prepare-merge-driver.test.ts scope: project timeout_seconds: 120 @@ -53,6 +87,37 @@ tests[2]: created_at: "2026-10-02T22:11:47.806Z" source_kind: local_mutation source_ref: land-restart/pm-web-161 -docs[1]{path,scope}: + - command: "env -u PM_PATH npm run release:check" + scope: project + timeout_seconds: 2400 + pm_context_mode: tracker + workspace_context_mode: source + provenance: + author: codex-sol + created_at: "2026-10-04T13:44:23.430Z" + source_kind: local_mutation + source_ref: chore/pm-web-pm-cli-2026-10-4 + - command: node --test test/prepare-merge-driver.test.ts test/workflow-security.test.ts test/catalog.test.ts + scope: project + timeout_seconds: 120 + pm_context_mode: tracker + workspace_context_mode: source + provenance: + author: codex-sol + created_at: "2026-10-04T13:55:55.937Z" + source_kind: local_mutation + source_ref: chore/pm-web-pm-cli-2026-10-4 + - command: node --test --test-name-pattern=project.initialization.selects test/pm-runner.test.ts + scope: project + timeout_seconds: 120 + pm_context_mode: tracker + workspace_context_mode: source + provenance: + author: codex-sol + created_at: "2026-10-04T13:55:57.002Z" + source_kind: local_mutation + source_ref: chore/pm-web-pm-cli-2026-10-4 +docs[2]{path,scope}: + docs/certification-2026.10.4.md,project README.md,project body: "" diff --git a/.agents/pm/extensions/.managed-extensions.json b/.agents/pm/extensions/.managed-extensions.json new file mode 100644 index 00000000..737cde9c --- /dev/null +++ b/.agents/pm/extensions/.managed-extensions.json @@ -0,0 +1,107 @@ +{ + "version": 1, + "updated_at": "2026-10-04T13:45:15.113Z", + "entries": [ + { + "name": "pm-github", + "directory": "pm-github", + "scope": "project", + "manifest_version": "2026.10.4", + "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-10-04T13:45:14.955Z", + "updated_at": "2026-10-04T13:45:14.955Z", + "source": { + "kind": "npm", + "input": "npm:pm-github@2026.10.4", + "location": "package", + "package": "pm-github", + "version": "2026.10.4" + } + } + ] +} diff --git a/.agents/pm/history/pm-web-8jjr.jsonl b/.agents/pm/history/pm-web-8jjr.jsonl index 2fcc831d..6025ef3f 100644 --- a/.agents/pm/history/pm-web-8jjr.jsonl +++ b/.agents/pm/history/pm-web-8jjr.jsonl @@ -42,3 +42,4 @@ {"hash_algorithm":"sha256","ts":"2026-10-04T13:12:32.076Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/9","value":{"created_at":"2026-10-04T13:12:32.076Z","author":"codex-sol","text":"Rebased full release:check passes 409/409 with zero skips against isolated native PostgreSQL17.10. Catalog12/12; duplication0/40472 lines,142 sources,0 clones; unchanged coverage84.41 lines/80.54 branches/77.82 functions across32 files (statements unmeasured). Built-in npm/Bun packed acceptance both resolve CLI2026.10.4 and pass web status without deprecated diagnostics. Strict health exit0 with2 stale-item advisories; synthetic PostgreSQL stopped and removed. Durable bounded receipts for both abandoned first-attempt and four reviewed cumulative decisions will be committed with toon/history. Exact-head remote checks/reviews required; certification waits for orchestrator merge."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:12:32.076Z"}],"before_hash":"f5c52d47a014a7b361f843f736527e61015f7962a5172c06a8e629378c6ef425","after_hash":"d303815e4d7ce7e4fdeda9178e0116d2b56fec8a1a6fc2c472d51c9f6cc15592","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":"e59d72920fadaaab523d29c618ee1cd3594a9c78c888f40e10894837026f1ee4"} {"hash_algorithm":"sha256","ts":"2026-10-04T13:12:33.029Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/actual_result","value":"Rebased prerequisite: 409/409 tests, zero skips; duplication0; configured coverage84.41/80.54/77.82 over32 files, statements unmeasured. Strict PM history/reconciliation/health pass; packed npm/Bun host10.4 acceptance passes. Remote exact-head CI/reviews pending; no hosted deployment or whole-source/private-data certification."},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:12:33.029Z"}],"before_hash":"d303815e4d7ce7e4fdeda9178e0116d2b56fec8a1a6fc2c472d51c9f6cc15592","after_hash":"48877062fd69dda5bac66e1ed3ca3df0009a27686cbe0c451a91790bcf3a9c7e","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":"8937ef874546855c4454544838167564deba2d8fc564399ec773a03fc76afc62"} {"hash_algorithm":"sha256","ts":"2026-10-04T13:12:33.814Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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-04T13:12:33.814Z"}],"before_hash":"48877062fd69dda5bac66e1ed3ca3df0009a27686cbe0c451a91790bcf3a9c7e","after_hash":"104ffc3baaad6ed340de55568ebfc2057ca3e3723c31c7b646e531f1523dd0a9","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":"96b7418dae1deebdc74cbf54afa40887e273484523b536a23809ce6de379c5cb"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:42:19.707Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/10","value":{"created_at":"2026-10-04T13:42:19.707Z","author":"codex-sol","text":"Exact rebased source e07ad101dec125497b322eea5524d59898dea385 has green Node22/26 CI, CodeQL and Greptile; gh pr view 163 -R unbraind/pm-web --json state returns OPEN. Fully paginated comments/reviews/inline and reviewThreads found one new Greptile P2 requesting branch-based owner link. Reacted -1 and replied with explicit task requirement for blob/main PM links; resolved PRRT_kwDOSZgR5c6oy2di, no source change. Greptile updated summary and review body acknowledged +1. Historical redaction finding remains addressed at the preserved source. CodeRabbit bot-seat/rate-limit notices and Sourcery quota are missing evidence; cubic neutral, Gemini/Copilot absent. Rebase gate409/409 and synthetic packed acceptance remain prerequisite evidence, not real-tracker certification. Waiting for orchestrator merge before any consolidated certification branch."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:42:19.707Z"}],"before_hash":"104ffc3baaad6ed340de55568ebfc2057ca3e3723c31c7b646e531f1523dd0a9","after_hash":"342cb0e14a2f9a726f1c8f2287dc0fc9639b9d1e8ac949b70f256453e1f48d33","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":"48d292f9c36f92904eee1f4e4b3c9ed824dd49e8d37a03f7ff643abd52615e13"} diff --git a/.agents/pm/history/pm-web-8pml.jsonl b/.agents/pm/history/pm-web-8pml.jsonl index b338e8f5..bf0cfe37 100644 --- a/.agents/pm/history/pm-web-8pml.jsonl +++ b/.agents/pm/history/pm-web-8pml.jsonl @@ -32,3 +32,30 @@ {"hash_algorithm":"sha256","ts":"2026-10-04T09:37:02.504Z","author":"pi-land-s2","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"458afb991196a5521f6e2e91","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T09:37:02.504Z"},{"op":"replace","path":"/metadata/title","value":"Certify pm-web on PM CLI SDK 2026.10.4, pm-changelog 2026.9.25 and pm-ops 2026.9.28"}],"before_hash":"14b4f14a2f67c64b6c429a70ffdb1ed12df2e0e98567f3a71c4f0d32c63b6726","after_hash":"f732df1c48a26118f9973878cc94545d5ecb0ed5cd19bbf74fb0d1b975e99491","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"940942227c1afa744ff22905ee92c429d4b4d832d7e33cb431695ddd8f0987b9"} {"hash_algorithm":"sha256","ts":"2026-10-04T09:37:12.799Z","author":"pi-land-s2","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"458afb991196a5521f6e2e91","agent_provenance":{"model":{"value":"glm-5.3:cloud","source":"environment"},"effort":null,"role":{"value":"implementer","source":"argv"},"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/acceptance_criteria","value":"package.json and package-lock.json resolve @unbrained/pm-cli 2026.10.4, pm-changelog 2026.9.25, and pm-ops 2026.9.28; local node_modules reports the same versions; npm run release:check passes; PM strict health passes; the PR names both package PM items and no hosted data is added."},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T09:37:12.799Z"}],"before_hash":"f732df1c48a26118f9973878cc94545d5ecb0ed5cd19bbf74fb0d1b975e99491","after_hash":"5b665633568835ed974b101765d7a41c6378a7fddba418870c2ecdcd09776cc7","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"d7ae6ced98eb0ed96ca3a08f7dbb8b7be87f7e01f66bbc15f0028f5dcd595f76"} {"hash_algorithm":"sha256","ts":"2026-10-04T09:37:18.792Z","author":"pi-land-s2","author_source":"asserted","agent_harness":"pi","agent_model":"glm-5.3:cloud","agent_model_source":"environment","agent_instance":"458afb991196a5521f6e2e91","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/9","value":{"created_at":"2026-10-04T09:37:18.792Z","author":"pi-land-s2","text":"Audit-driven SDK pin bump: GHSA-vfj7-8cjw-p6xm (updated 2026-10-02) flags every braces release <=3.0.3 with no patched version, and pm-cli 2026.9.26's production fast-glob chain reached it, so npm audit --omit=dev reported 4 high findings and the full gate failed at audit:prod. pm-cli 2026.10.3/2026.10.4 replaced fast-glob with tinyglobby (no braces), so package.json and the lockfile now resolve @unbrained/pm-cli 2026.10.4 (the registry's audit-recommended fix) and manifest.json's extension floor matches it per the packaging gate. Nothing else changed: pm-changelog 2026.9.25 and pm-ops 2026.9.28 pins are untouched, no audit threshold or gate was weakened, and the full locked release:check with the canonical fleet root passes 409/409 tests with zero skips, production audit at zero vulnerabilities, coverage thresholds met, packed npm/Bun acceptance and changelog/date/attestation checks green. Title and acceptance criteria updated to name the pin this branch now certifies, matching the earlier reviewer precedent."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T09:37:18.792Z"}],"before_hash":"5b665633568835ed974b101765d7a41c6378a7fddba418870c2ecdcd09776cc7","after_hash":"549615418d97a1214481b380e29b1134f08f6fe9dce2fe21d1bdb55c37792956","item_hash_version":3,"event_class":"substantive","record_hash_version":1,"record_hash":"621c3e9f14333c4598c5a61a55770753d3731aad8bc9a654965d7eb931599428"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:44:21.560Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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-04T13:44:21.560Z"},{"op":"add","path":"/metadata/assignee","value":"codex-sol"},{"op":"add","path":"/metadata/claim_principal","value":"codex-sol"}],"before_hash":"549615418d97a1214481b380e29b1134f08f6fe9dce2fe21d1bdb55c37792956","after_hash":"5f8655c3ec56171f3cc997407c026ad4a06c785c35e9c88e843d2bc180acf28d","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":"93289e45bdd43e106a80ac34802770e2cd2eb399bfdeea8127880122599b359e"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:44:22.198Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/acceptance_criteria","value":"Exact CLI2026.10.4 and latest pm-ops/pm-changelog/fleet pins, all devDependencies exact; absorb every pending dependency/workflow bump; full unchanged CI gate, strict pinned health, both audits clean, copied real-tracker packed npm/nativeBun acceptance, read-only managed pm-github preview; retain independent whole-source/privacy/hosted/reviewer boundaries and keep item open for orchestrator verification."},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:44:22.198Z"},{"op":"replace","path":"/metadata/status","value":"in_progress"},{"op":"replace","path":"/metadata/title","value":"Certify pm-web on PM CLI/SDK 2026.10.4 and consolidate pending dependency updates"}],"before_hash":"5f8655c3ec56171f3cc997407c026ad4a06c785c35e9c88e843d2bc180acf28d","after_hash":"8b05b521592f9aff4b8707c47034ab84d3d6102571aeea742836cb34f4e4b8c3","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":"ddd6ad4d1a7a33bd7c152e0618bb1c884142f05d3f26ac4ad000393c33927374"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:44:22.815Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/10","value":{"created_at":"2026-10-04T13:44:22.815Z","author":"codex-sol","text":"PR163 merged by orchestrator at13:42UTC (merge86c31b1); created certification branch from that new origin/main only. Reuse this existing open certification owner, exact required title, retain dated history. Absorb open Dependabot162/164/165/166, exact CodeQL v4.38.2 SHA2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 and latest npm pins. Upgrade ops/changelog10.4 and byte-copy published launcher; keep existing CLI/floor10.4. Full gate uses own disposable native PostgreSQL17.10 under sharedflock, noDocker/hosted/data/config changes. Existing whole-source ownerfy9a and privacy96 remain independent. Final rebase review metadata crossed orchestrator merge; cherry-picked own metadata commit into this consolidated PR and removed only the accidentally recreated remote branch under exact lease."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:44:22.815Z"}],"before_hash":"8b05b521592f9aff4b8707c47034ab84d3d6102571aeea742836cb34f4e4b8c3","after_hash":"347e22fcb2328ca14813692a09d94793fe8f881aee0709ed2e16592ee22f8a61","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":"1f83e12ca769fb80fbecdfa34cdee5a6261cc0bfccb876e778e1b540b7cb56c2"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:44:23.485Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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":"env -u PM_PATH npm run release:check","scope":"project","timeout_seconds":2400,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T13:44:23.430Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:44:23.485Z"}],"before_hash":"347e22fcb2328ca14813692a09d94793fe8f881aee0709ed2e16592ee22f8a61","after_hash":"005fbb8484f77542cc6a25f6ce947d7b5c7670b63859f2a689d87094a7e477bc","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":"959a55e0d1d8f962e1e72af6e3bdbf3aae78c0d8c18db2893c27631eb052bf2b"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:45:57.475Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/11","value":{"created_at":"2026-10-04T13:45:57.475Z","author":"codex-sol","text":"Latest exact tool/development pins installed, pg8.23.1 incorporates165, tsx4.23.15 incorporates162, types26.6.4 supersedes166; CodeQL exact SHA/comment from164 copied. Malformed lookup regression failed oldlauncher(ENOTDIR) then canonicaltemplate passes7/7. Managedpm-github10.4 installed with read-only repo dry-run; no scheduling or issue writes. Productionaudit0, fullaudit4high throughunpatchedbraces/fastglob/pmops; separatefollow-upcreated, no forcedbreakingoverride/downgrade. Keep unchanged fullgate and independentqualityownerfy9a; disposable nativePG fixture queued under sharedflock."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:45:57.475Z"}],"before_hash":"005fbb8484f77542cc6a25f6ce947d7b5c7670b63859f2a689d87094a7e477bc","after_hash":"3e53094ef8396432157f239bca18865bcc872ea3af17e9ed629ac24d7dbcbaf1","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":"bcf6c337c55e1aff524caf3b00e9520ae6f5f920ebd5eff874237c5f003c9f95"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:52:56.405Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/12","value":{"created_at":"2026-10-04T13:52:56.405Z","author":"codex-sol","text":"First full gate410tests failed408/410: workflow pin allowlist still named oldCodeQLSHA, and livefleetpm-ts-starter description nowSDK10.4. Updated exact allowlist from reviewedDependabotdiff; regenerated snapshot with npm run fleet:snapshot and canonicalPM_FLEET_ROOT (20extensions, registry reachable), preserved every catalog/source gate; focusedworkflow+catalog15/15pass. Mandatory packed acceptance exposed projectcreation500 beneathcopiedancestortracker. Installedtarball diagnostic reproduces CLI ancestor-init refusal; actualCLI regression failsoldimplementation. Fix explicitly initializes childworkspace with prefix and noninteractive defaults, preservesancestor settingsbytes. No --force/bypassedguard, no upstream defect claimed; repeat scoped/full/packed gates."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:52:56.405Z"}],"before_hash":"3e53094ef8396432157f239bca18865bcc872ea3af17e9ed629ac24d7dbcbaf1","after_hash":"a3570df4a08a30326f5517927ae4df4609d9b966c7c6067af6c0e93cbc201f59","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":"f53111bdba9b94336ea4669d7a29c398e39b7a0c694c4a0616b2c6a605d4fd8e"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:44.502Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/4/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/4/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/3/note"},{"op":"replace","path":"/metadata/files/3/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/5","value":{"path":"test/graph-read-only.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:44.502Z"}],"before_hash":"a3570df4a08a30326f5517927ae4df4609d9b966c7c6067af6c0e93cbc201f59","after_hash":"0656bf17a3bb7d671ef26cd28c8d40c04e770adff307620b42aac424280a9bc6","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":"2ff899c3fa3fd1ab3749d8a94baa3745cecf6fcf2d2d22d065daa034e1b78086"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:45.597Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/5/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/6","value":{"path":"test/graph-read-only.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:45.597Z"}],"before_hash":"0656bf17a3bb7d671ef26cd28c8d40c04e770adff307620b42aac424280a9bc6","after_hash":"a3cd3d1d78136efb509a115372bfe7611b04e15291d04c6f4d0c92727b1080aa","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":"cbffa6d6d4b41f17eb3745a851b095a2e2ec6eb89bdb78610e8afa06426f93d3"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:46.625Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/7","value":{"path":"test/pm-runner.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:46.625Z"}],"before_hash":"a3cd3d1d78136efb509a115372bfe7611b04e15291d04c6f4d0c92727b1080aa","after_hash":"b057a4fa934187caeed206a7f15697acaca0268d5e84abcd4e4b80cb6992500a","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":"c4df2426aaddc14b772bf50ff2060606dfa05357d734c8264d6f8fc29efabbcd"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:47.706Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/8","value":{"path":"test/prepare-merge-driver.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:47.706Z"}],"before_hash":"b057a4fa934187caeed206a7f15697acaca0268d5e84abcd4e4b80cb6992500a","after_hash":"87e54eb4e7db893f5cda7988e6f66d21ac9962edbce252ec1645d59f5cda3b92","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":"4086c397154e967742e40e2ae39e2380abbfe19730fc5eb855dee393103eab65"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:48.668Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/9","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:48.668Z"}],"before_hash":"87e54eb4e7db893f5cda7988e6f66d21ac9962edbce252ec1645d59f5cda3b92","after_hash":"86de6725d364dc6d3529bcc25ae4734a251620b2e701bbb075b8b1cf23115219","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":"9f00d069442e0aacbbde3facefa2990e89a00df227b2cc716d9090d927ed40d7"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:49.840Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/9/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/8/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/7/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/6/path","value":"test/fleet-extensions.snapshot.json"},{"op":"add","path":"/metadata/files/10","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:49.840Z"}],"before_hash":"86de6725d364dc6d3529bcc25ae4734a251620b2e701bbb075b8b1cf23115219","after_hash":"d1ff78578adda9972c33631de9b7cc87fa97deab896317698e28e9e5728742e8","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":"5617602f1d93cbef5945ac7f3b290bfd55f4eda976a6409cf40fbcdc1b1d32b9"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:51.166Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/10/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/9/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/8/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/7/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/6/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/5/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/5/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/4/note"},{"op":"replace","path":"/metadata/files/4/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/3/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/3/path","value":"package.json"},{"op":"replace","path":"/metadata/files/2/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/2/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/1/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/1/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/0/note"},{"op":"replace","path":"/metadata/files/0/path","value":".github/workflows/ci.yml"},{"op":"add","path":"/metadata/files/11","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:51.166Z"}],"before_hash":"d1ff78578adda9972c33631de9b7cc87fa97deab896317698e28e9e5728742e8","after_hash":"0dad93df430fccabacd42bb254080caad2a9577471ea29d7755e05246bc7eaf1","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":"2c5d5418cdb1c1d75b7e8a5c9bd80d4a3e6bf3be78620b4bd9209fd3ca674725"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:52.094Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/11/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/10/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/9/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/8/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/7/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/6/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/6/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/5/note"},{"op":"replace","path":"/metadata/files/5/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/4/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/4/path","value":"package.json"},{"op":"replace","path":"/metadata/files/3/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/3/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/2/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/2/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/1/note"},{"op":"replace","path":"/metadata/files/1/path","value":".github/workflows/codeql.yml"},{"op":"add","path":"/metadata/files/12","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:52.094Z"}],"before_hash":"0dad93df430fccabacd42bb254080caad2a9577471ea29d7755e05246bc7eaf1","after_hash":"a409d964d3ec2027ad8e82e4fe617edf3938dd0b965d0ba5f3b4759edca14052","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":"9379bc173b81ae21aba56f28b02551a3bc310fdabf39da3e4fc9d79953a259fa"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:53.047Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/12/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/11/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/10/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/9/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/8/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/7/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/7/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/6/note"},{"op":"replace","path":"/metadata/files/6/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/5/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/5/path","value":"package.json"},{"op":"replace","path":"/metadata/files/4/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/4/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/3/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/3/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/2/note"},{"op":"replace","path":"/metadata/files/2/path","value":".gitignore"},{"op":"add","path":"/metadata/files/13","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:53.047Z"}],"before_hash":"a409d964d3ec2027ad8e82e4fe617edf3938dd0b965d0ba5f3b4759edca14052","after_hash":"367ffb7f35068b29719f693c9a1882b9f692bd4f6d7dac5d1e450810cd90eb49","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":"3a3587c70612faf01bcce328671cd5395c3ee9756a7af7d0590b5c89b25aebbf"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:54.515Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/13/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/12/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/11/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/10/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/9/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/8/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/8/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/7/note"},{"op":"replace","path":"/metadata/files/7/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/6/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/6/path","value":"package.json"},{"op":"replace","path":"/metadata/files/5/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/5/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/4/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/4/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/3/note"},{"op":"replace","path":"/metadata/files/3/path","value":".gitignore"},{"op":"replace","path":"/metadata/files/2/path","value":".github/workflows/codeql.yml"},{"op":"replace","path":"/metadata/files/1/path","value":".github/workflows/ci.yml"},{"op":"replace","path":"/metadata/files/0/path","value":".agents/pm/extensions/.managed-extensions.json"},{"op":"add","path":"/metadata/files/14","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:54.515Z"}],"before_hash":"367ffb7f35068b29719f693c9a1882b9f692bd4f6d7dac5d1e450810cd90eb49","after_hash":"48283396b15697f9ac9e8f0da2226b845d98add9a7ffc48c97f724c099c80b9a","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":"acc6e5e66b5ec305ec7b0b213b8f2a5df795d6b637aca08dbe1b8bced409778c"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:55.969Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/3","value":{"command":"node --test test/prepare-merge-driver.test.ts test/workflow-security.test.ts test/catalog.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T13:55:55.937Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:55.969Z"}],"before_hash":"48283396b15697f9ac9e8f0da2226b845d98add9a7ffc48c97f724c099c80b9a","after_hash":"e4622769d0924a69704ee3ccd94746b62f32982dd45e4a0bcc6cf5ed6e3c6d6e","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":"f894a31124c1b9957b388f0b9c8bd916d46377b2dc3a93d273a689bfa1e76c78"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:57.084Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/4","value":{"command":"node --test --test-name-pattern=project.initialization.selects test/pm-runner.test.ts","scope":"project","timeout_seconds":120,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T13:55:57.002Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:57.084Z"}],"before_hash":"e4622769d0924a69704ee3ccd94746b62f32982dd45e4a0bcc6cf5ed6e3c6d6e","after_hash":"fb0801bc797801e140840b3639f62d407d001dc4323773530d4be18d0d4bd00d","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":"ffec45654cc8e69918002a0314ebe10613053b0c16271dc7770a9c8d98e7cce9"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:49.612Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/13","value":{"created_at":"2026-10-04T14:01:49.612Z","author":"codex-sol","text":"Final fullgate passes411/411 zero skips, duplication0/40537 over142sources; configuredcoverage84.49L/80.60B/77.82F over32files, statementsunmeasured. Clean npmci+Buninstall andfreshbuild pass. Packedrealtracker npm/nativeBun bothdoctorOK,start/statusUP/healthy, authenticatedboard/export/observationalgraph all132items, exportvaluesdeep-equal, trackerbytespreserved, stop/statusDOWN; ownPGfixturestoppedanddeleted,scratchremoved. One acceptance retry compareddefaultopenbaseline21 tocompleteAPI132; correctedfixture to list--all, notapplication/assertions. Linkedscopedcatalog retry omittedPM_FLEET_ROOT and properlyrefusedworktreesassiblings; retainfailure, rerunwithcanonicalexplicitroot. Linkednpm auditswereexecutionerrors EALLOWSCRIPTS fromrunner-injectedallow_scripts, notsecurityfindings; directrechecks remainprod0/full4high. Clear only thatchildenvironment option for audit receipts."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:01:49.612Z"}],"before_hash":"fb0801bc797801e140840b3639f62d407d001dc4323773530d4be18d0d4bd00d","after_hash":"d1e2ea8f056420bffc49f887dd7e88ac9df93c95d37b0b80167777d22e052abe","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":"4cab04c3f3f8cc0d64c4bec063e73259f12c57f8485b549deace3e66a058231d"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:12.597Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/14/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/13/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/12/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/11/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/10/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/9/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/9/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/8/note"},{"op":"replace","path":"/metadata/files/8/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/7/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/7/path","value":"package.json"},{"op":"replace","path":"/metadata/files/6/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/6/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/5/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/5/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/4/note"},{"op":"replace","path":"/metadata/files/4/path","value":"docs/certification-2026.10.4.md"},{"op":"add","path":"/metadata/files/15","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:12.597Z"}],"before_hash":"d1e2ea8f056420bffc49f887dd7e88ac9df93c95d37b0b80167777d22e052abe","after_hash":"c96df5f12c90437f517aaf29ebf4e2cd302929a4d428fa41b6c1fb8680250181","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":"e8fc35370b03be992979f0e16b5ff04b0882bfc01a4ee81e56fdc7067629db2c"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:13.562Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/docs/0/path","value":"docs/certification-2026.10.4.md"},{"op":"add","path":"/metadata/docs/1","value":{"path":"README.md","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:13.562Z"}],"before_hash":"c96df5f12c90437f517aaf29ebf4e2cd302929a4d428fa41b6c1fb8680250181","after_hash":"1c729aa5754a66bd3a177ed6c446fbc5a73e0ba4de45e3de5df1ad22c75e2fab","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":"9dc236b7d94a7fe6a472cd695a9164fcb303ab253f738b0e6e854b207692180f"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:15.621Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/15/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/14/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/13/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/12/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/11/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/10/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/10/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/9/note"},{"op":"replace","path":"/metadata/files/9/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/8/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/8/path","value":"package.json"},{"op":"replace","path":"/metadata/files/7/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/7/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/6/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/6/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/5/note"},{"op":"replace","path":"/metadata/files/5/path","value":"docs/certification-2026.10.4.md"},{"op":"replace","path":"/metadata/files/4/path","value":"dist/services/pm-runner.d.ts"},{"op":"add","path":"/metadata/files/16","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:15.621Z"}],"before_hash":"1c729aa5754a66bd3a177ed6c446fbc5a73e0ba4de45e3de5df1ad22c75e2fab","after_hash":"1f9b03291b803635e11971fb7b10a016a67854e9c045c2135cf41df80dd9ac14","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":"b383102a0e0dea23d32b0e8a664358dfb5ec9542eb891a9148c60487f347bfee"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:16.789Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/16/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/15/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/14/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/13/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/12/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/11/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/11/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/10/note"},{"op":"replace","path":"/metadata/files/10/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/9/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/9/path","value":"package.json"},{"op":"replace","path":"/metadata/files/8/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/8/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/7/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/7/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/6/note"},{"op":"replace","path":"/metadata/files/6/path","value":"docs/certification-2026.10.4.md"},{"op":"replace","path":"/metadata/files/5/path","value":"dist/services/pm-runner.js"},{"op":"add","path":"/metadata/files/17","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:16.789Z"}],"before_hash":"1f9b03291b803635e11971fb7b10a016a67854e9c045c2135cf41df80dd9ac14","after_hash":"dccac8eafca10ddf5e0f4774a93a6685f61f4334b728ca08cd5c7d4ea5b36816","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":"aeb7d5e33aa0c8f49f0816b6955579aa0ca277dbdc08b371085f3d405009d888"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:17.898Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/17/path","value":"test/prepare-merge-driver.test.ts"},{"op":"replace","path":"/metadata/files/16/path","value":"test/pm-runner.test.ts"},{"op":"replace","path":"/metadata/files/15/path","value":"test/graph-read-only.test.ts"},{"op":"replace","path":"/metadata/files/14/path","value":"test/fleet-extensions.snapshot.json"},{"op":"replace","path":"/metadata/files/13/path","value":"src/services/pm-runner.ts"},{"op":"add","path":"/metadata/files/12/note","value":"canonical pm-ops launcher"},{"op":"replace","path":"/metadata/files/12/path","value":"scripts/prepare-merge-driver.ts"},{"op":"remove","path":"/metadata/files/11/note"},{"op":"replace","path":"/metadata/files/11/path","value":"scripts/install-pm-github.sh"},{"op":"add","path":"/metadata/files/10/note","value":"exact package dependency pins"},{"op":"replace","path":"/metadata/files/10/path","value":"package.json"},{"op":"replace","path":"/metadata/files/9/note","value":"resolved versions and integrity"},{"op":"replace","path":"/metadata/files/9/path","value":"package-lock.json"},{"op":"replace","path":"/metadata/files/8/note","value":"minimum host CLI version"},{"op":"replace","path":"/metadata/files/8/path","value":"manifest.json"},{"op":"remove","path":"/metadata/files/7/note"},{"op":"replace","path":"/metadata/files/7/path","value":"docs/certification-2026.10.4.md"},{"op":"replace","path":"/metadata/files/6/path","value":"dist/services/pm-runner.js.map"},{"op":"add","path":"/metadata/files/18","value":{"path":"test/workflow-security.test.ts","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:17.898Z"}],"before_hash":"dccac8eafca10ddf5e0f4774a93a6685f61f4334b728ca08cd5c7d4ea5b36816","after_hash":"fdc63ed55848daae006ac2270d49956b29aa70709d883a8110b32f9e79b61200","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":"bf400391e40ca94b4c93019adebbf12d9ddc163bbdf68a2bb6475d86d27729b5"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:18.787Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/14","value":{"created_at":"2026-10-04T14:04:18.787Z","author":"codex-sol","text":"Durable certification document now records exact commands, before/after failures, gate411/411, complete132item copiedtracker acceptance throughnpm/nativeBun, scratch cleanup andscope boundaries. Corrected linked scoped run withcanonicalPM_FLEET_ROOT passes22/22, zero skips; actualCLI init linkedtest1/1pass. Linked audit wrappers produce real fullauditexit1/fourhigh andproductionexit0/allzero; earlierEALLOWSCRIPTS failures remain documented. Strict pinnedhealth exit0 withoneadvisoryfindingcovering2staleitems. Updated managedregistry andCI restoration; read-onlyGitHubdryrun synced0/skipped0/planned0. Release claim and keepchoreinprogressfororchestrator; dev auditxucb andrequiredreviews blockcertification."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:18.787Z"}],"before_hash":"fdc63ed55848daae006ac2270d49956b29aa70709d883a8110b32f9e79b61200","after_hash":"b4a9ac417b53001c2795b175a2a0922b0027be7e7d40f3caf68be01487b3b66d","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":"6cb94cf077ed778556efcd806a5778224d065bb76d8b2e0934514cb0e7eb10d7"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:19.677Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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-04T14:04:19.677Z"},{"op":"add","path":"/metadata/actual_result","value":"Full linked release:check411/411, zero skips; duplicate0/40537lines/142sources; coverage84.49/80.60/77.82 over32configuredfiles, statementsunmeasured. Canonical launcher7/7, workflow/catalog15/15 andlinkedscoped22/22; test-first actualCLI childinitializationregression1/1 preservesancestorbytes. Clean npmci+Buninstall/freshbuild pass; npm/nativeBun tarballdoctor/start/status/stop+authenticatedboard/export/graph all132realitems, completeexportdeep-equality andtrackerbytespreserved, scratch+PGstopped/deleted. Stricthealth0 with2stale advisoryitems; prod audit0/fullaudit4high blockedxucb; GitHubreadonlypreviewzerochanges; reviews pending."}],"before_hash":"b4a9ac417b53001c2795b175a2a0922b0027be7e7d40f3caf68be01487b3b66d","after_hash":"6de6f9bfae76a41f97d3e0cacb570bf1239ae0543de3a7231b5fae2439034f1d","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":"97a41c459683ba49308060bad1b7648b2786e11386b4610653eeab3468746644"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:21.500Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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-04T14:04:21.500Z"}],"before_hash":"6de6f9bfae76a41f97d3e0cacb570bf1239ae0543de3a7231b5fae2439034f1d","after_hash":"d665233a58781dc7308047f2471cae86cdc6c422527eb546b647c987b13b736c","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":"5107a13512a83d0f233a40e298c8b924ac64035c4ff0b159f0ca3148984e8da8"} diff --git a/.agents/pm/history/pm-web-xucb.jsonl b/.agents/pm/history/pm-web-xucb.jsonl new file mode 100644 index 00000000..40704a87 --- /dev/null +++ b/.agents/pm/history/pm-web-xucb.jsonl @@ -0,0 +1,15 @@ +{"hash_algorithm":"sha256","ts":"2026-10-04T13:45:56.448Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-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-web-xucb"},{"op":"add","path":"/metadata/title","value":"Resolve pm-web full development audit through unpatched braces and fast-glob"},{"op":"add","path":"/metadata/description","value":"Certification on CLI/ops/changelog2026.10.4 has clean production audit but full npm audit reports four high development entries through fast-glob/micromatch/braces and pm-ops. GHSA-vfj7-8cjw-p6xm affects every published braces3 release; keep exact latest tool pins and unchanged audit/gate requirements. The application does not import fast-glob, but pm-ops10.4 duplication statically imports it without a declared direct dependency, so simply removing the repository dependency causes ERR_MODULE_NOT_FOUND instead of a valid gate."},{"op":"add","path":"/metadata/type","value":"Issue"},{"op":"add","path":"/metadata/status","value":"open"},{"op":"add","path":"/metadata/priority","value":1},{"op":"add","path":"/metadata/tags","value":[]},{"op":"add","path":"/metadata/created_at","value":"2026-10-04T13:45:56.448Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-10-04T13:45:56.448Z"},{"op":"add","path":"/metadata/author","value":"codex-sol"},{"op":"add","path":"/metadata/acceptance_criteria","value":"Full npm audit and npm audit --omit=dev both zero on exact required pins; canonical pm-ops duplication and full package release gates pass without suppressions, skipped tests or forced breaking overrides."},{"op":"add","path":"/metadata/severity","value":"high"},{"op":"add","path":"/metadata/repro_steps","value":"npm ci; npm audit --json; npm ls braces micromatch fast-glob pm-ops; npm view braces version"},{"op":"add","path":"/metadata/expected_result","value":"All audit requirements clean with functional canonical gates."},{"op":"add","path":"/metadata/actual_result","value":"Production audit zero; full audit4high; published braces3.0.3 has no compatible patched release."}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"295548ee59d8bf8e684ca84ea781a32396c4eccb6584065182aa67000617edb0","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":"d00342499986388fe2ba79d15f05a2990826c183bfebaf7971433af571e793f8"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:58.136Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:58.136Z"},{"op":"add","path":"/metadata/files","value":[{"path":"package-lock.json","scope":"project"}]}],"before_hash":"295548ee59d8bf8e684ca84ea781a32396c4eccb6584065182aa67000617edb0","after_hash":"dd04113742305826d0ca1c96d41317f3f88615e9878a8fe98c310c80de58e7bd","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":"b783e8d63e209720866fcb1fb23ae975d03fd5f78fef05a062abc30edb5819bd"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:55:59.196Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/1","value":{"path":"package.json","scope":"project"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:55:59.196Z"}],"before_hash":"dd04113742305826d0ca1c96d41317f3f88615e9878a8fe98c310c80de58e7bd","after_hash":"76fd656ea20d96e4959d3092666f5528b9bac4155225bfdf86bdb0b1cc1ea5ea","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":"4878444cd5496295097817f16c8eeec9a1daf8d513a483ea74a63fe695a0ac14"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:56:00.507Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:56:00.507Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"npm audit --json","scope":"project","timeout_seconds":300,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T13:56:00.421Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}]}],"before_hash":"76fd656ea20d96e4959d3092666f5528b9bac4155225bfdf86bdb0b1cc1ea5ea","after_hash":"76d3773080c5b8139b4a26866a6a3b802cede27b2e3bf0c3a43fdeeb73b2435c","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":"b3fb42af521dd6b13a0c5ae8262cf62ef4c1969064daa9a282f51188ec192b37"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:56:01.938Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/1","value":{"command":"npm audit --omit=dev --json","scope":"project","timeout_seconds":300,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T13:56:01.874Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:56:01.938Z"}],"before_hash":"76d3773080c5b8139b4a26866a6a3b802cede27b2e3bf0c3a43fdeeb73b2435c","after_hash":"1125a984127800f5491af27368918ae4d605c1f5626b6d0a2f0291c95a73ed48","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":"2475b23382bb43d51bc4fafd5dc66b0c257c35a0df7a6e25b2844d9694fe7915"} +{"hash_algorithm":"sha256","ts":"2026-10-04T13:56:03.219Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T13:56:03.219Z"},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-10-04T13:56:03.219Z","author":"codex-sol","text":"Exact installed CLI/ops/changelog2026.10.4: npm audit --omit=dev --json exits0 with allzero; npm audit --json exits1 with fourhigh deventries. GitHub open Dependabotalerts returns[]; no openalertsilentlyclosed. Published braceslatest3.0.3 affected by GHSA-vfj7-8cjw-p6xm; no3.0.4published. Removing direct unusedfastglob was independently attempted in pm-graph certification and auditsclean, but canonical pm-ops10.4 duplication then throws ERR_MODULE_NOT_FOUND because its dist/duplication.js staticallyimports undeclaredfastglob. Keep latestexactpins andfunctionalcanonicalgate; blockerownedhereuntilcompatibleupstreamtooltreeclean. Do not force downgrade/suppressaudit."}]}],"before_hash":"1125a984127800f5491af27368918ae4d605c1f5626b6d0a2f0291c95a73ed48","after_hash":"437dbd468c5fa12e24f8817aa863f44a70c31c5edea1b69162be28886fb92af1","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":"52326694d782d5fa16ca6d5181bd33f48c6f93a516a09a0dbe1d7e36ccf4eb4a"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:53.565Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-10-04T14:01:53.564Z","author":"codex-sol","text":"The initial linked npm audit commands hit runner-injected EALLOWSCRIPTS, so their exit1 is execution failure, not vulnerability evidence. Direct same-source npm audit --omit=dev --json recheckexit0/allzero; full recheckexit1/fourhigh. Replace the two new linked commands with child-scoped env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS wrappers; this changes no audit selection/threshold and no project or user npm configuration."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:01:53.565Z"}],"before_hash":"437dbd468c5fa12e24f8817aa863f44a70c31c5edea1b69162be28886fb92af1","after_hash":"13521a95498ce660827f65ca1811d4c98814646de9fba0e11c50281bdbf05e48","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":"0e07ed5c6345218a89521a52da864c79507db279103cfda29d5155a444ad4f3f"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:54.858Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-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-10-04T14:01:54.858Z"}],"before_hash":"13521a95498ce660827f65ca1811d4c98814646de9fba0e11c50281bdbf05e48","after_hash":"c7f1be5df870ec31cc5eb9217f84b0cec1603a3824b1d8e4a595a984cb1c1a87","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":"720419db2950bfc0c426aaa4ce8669410ea6a3f4a95a72a8ef911cbf6ab76162"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:55.814Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-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-10-04T14:01:55.814Z"}],"before_hash":"c7f1be5df870ec31cc5eb9217f84b0cec1603a3824b1d8e4a595a984cb1c1a87","after_hash":"c8efb4b06fcc7840d6c91372f6aada95b5b53984cc7645ccd26f222f6499fc0d","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":"7ed3a14d6d5270728223d6ea26db802e8a3d8770e3755d318bf54ea2cded3fd6"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:56.874Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:01:56.874Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS npm audit --json","scope":"project","timeout_seconds":300,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T14:01:56.799Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}]}],"before_hash":"c8efb4b06fcc7840d6c91372f6aada95b5b53984cc7645ccd26f222f6499fc0d","after_hash":"5a4a6f048d1c1e1da12235780368a265d1653e057f1c01ad2fd0d985a9e88e20","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":"466a59873e711825ae02ceb432c8b38fe638471bbd0639224ec7444de29d3f27"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:01:57.989Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/1","value":{"command":"env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS npm audit --omit=dev --json","scope":"project","timeout_seconds":300,"pm_context_mode":"tracker","workspace_context_mode":"source","provenance":{"author":"codex-sol","created_at":"2026-10-04T14:01:57.956Z","source_kind":"local_mutation","source_ref":"chore/pm-web-pm-cli-2026-10-4"}}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:01:57.989Z"}],"before_hash":"5a4a6f048d1c1e1da12235780368a265d1653e057f1c01ad2fd0d985a9e88e20","after_hash":"0ad526de020c95acd0e3e580f98fa3ae575adfdb21b4db3dbb907405f6afb9ab","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":"805dd273fc7711be1f0b5f8d646fc4ca18de93b1947b8d645e683a7862aae947"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:14.508Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:14.508Z"},{"op":"add","path":"/metadata/docs","value":[{"path":"docs/certification-2026.10.4.md","scope":"project"}]}],"before_hash":"0ad526de020c95acd0e3e580f98fa3ae575adfdb21b4db3dbb907405f6afb9ab","after_hash":"96af00637372a56061fdda8192a5d11c9aa266e232c6490d6bfef24ce3d0e7ea","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":"6a4a879b86be4df105753ba517db2f76cf519b892c5ed5fb619db256df07a358"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:04:20.620Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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/actual_result","value":"Exact CLI/ops/changelog2026.10.4: direct and corrected linked full npm audit exit1/fourhigh throughbraces/micromatch/fastglob/pmops; production audit exit0/allzero; noopenDependabotalerts. Full functional gate411/411pass. Compatible patched braces3 release unavailable; simplyremovingfastglobbreakscanonicalpmopsduplication. Keepowneropen."},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:04:20.620Z"}],"before_hash":"96af00637372a56061fdda8192a5d11c9aa266e232c6490d6bfef24ce3d0e7ea","after_hash":"07290abf9976d1baa30a44beb57b7f5756dd582be2b18a01f854cd5e3fafdef8","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":"c291af65ede330f1b3347ddc2eba49d66c5855f11374a67d5ce3093db56abcac"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:13:52.444Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","agent_provenance":{"model":{"value":"gpt-6.1-sol","source":"probe"},"effort":{"value":"high","source":"probe"},"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/2","value":{"created_at":"2026-10-04T14:13:52.444Z","author":"codex-sol","text":"Correction after complete installed manifest inspection: pm-ops2026.10.4 declares fast-glob^3.3.3 as an optional peer (peerDependenciesMeta.optional=true), rather than a direct dependency. The earlier undeclared-import wording was inaccurate. The duplication entrypoint statically imports that optional peer, so a consumer using this gate must provide it; removing it cannot certify the consumer. Clarify description/document; no missing-declaration defect claimed. Full development audit4high remains, prod audit0, functional fullgate411/411 and required consumer pins unchanged."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-10-04T14:13:52.444Z"}],"before_hash":"07290abf9976d1baa30a44beb57b7f5756dd582be2b18a01f854cd5e3fafdef8","after_hash":"782f9de1b80c1f017fcfad50d50f01eb4013ce840e242defa81d6a113c4a22e8","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":"13b80b074ee5510825e83f5cc7b2afb464dfda1efe475b6060fa5c17b76cbc88"} +{"hash_algorithm":"sha256","ts":"2026-10-04T14:13:53.921Z","author":"codex-sol","author_source":"asserted","agent_harness":"codex","agent_model":"gpt-6.1-sol","agent_model_source":"probe","agent_instance":"29ac4ecd0d40e2132db30b7f","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-04T14:13:53.921Z"},{"op":"replace","path":"/metadata/description","value":"CLI/ops/changelog2026.10.4 has clean production audit but four high full-audit entries through fast-glob/micromatch/braces and pm-ops. GHSA-vfj7-8cjw-p6xm affects every published braces3 release. pm-ops declares fast-glob^3.3.3 as an optional peer; its duplication entrypoint statically imports that peer, so this consumer must supply it. Removing the repository dependency makes audit clean but breaks the required canonical gate. Retain exact latest pins and audit/gate requirements pending a compatible clean peer chain."}],"before_hash":"782f9de1b80c1f017fcfad50d50f01eb4013ce840e242defa81d6a113c4a22e8","after_hash":"8045cf592048a1b634069465ddba7c72a700731de89887c4ada8bd1f1545f9dd","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":"72ca887f7577a0a3d44f66bae5180343ec1ff4824213dd07107cc96a7868da8a"} diff --git a/.agents/pm/issues/pm-web-8jjr.toon b/.agents/pm/issues/pm-web-8jjr.toon index 6e407a44..49027eb2 100644 --- a/.agents/pm/issues/pm-web-8jjr.toon +++ b/.agents/pm/issues/pm-web-8jjr.toon @@ -6,7 +6,7 @@ status: in_progress priority: 1 tags: [] created_at: "2026-09-29T12:21:34.777Z" -updated_at: "2026-10-04T13:12:33.814Z" +updated_at: "2026-10-04T13:42:19.707Z" author: codex estimated_minutes: 240 acceptance_criteria: "Remove the detected duplication without relaxing the zero threshold; preserve graph, route, and realtime behavior; pass release and packed npm/Bun gates." @@ -16,7 +16,7 @@ environment: "canonical pm-web checkout, PR #163 head dcb96dd, npm ci branch loc repro_steps: gh pr checkout 163; npm ci --ignore-scripts; npm run duplication expected_result: The unchanged zero-threshold duplication gate passes with zero clone pairs and the package release gate remains green. actual_result: "Rebased prerequisite: 409/409 tests, zero skips; duplication0; configured coverage84.41/80.54/77.82 over32 files, statements unmeasured. Strict PM history/reconciliation/health pass; packed npm/Bun host10.4 acceptance passes. Remote exact-head CI/reviews pending; no hosted deployment or whole-source/private-data certification." -comments[10]{created_at,author,text}: +comments[11]{created_at,author,text}: "2026-10-03T00:08:52.370Z",codex-sol-land,"Resumed PR #163 from 42d86eb28e3d85b453a7292f4c5d92f2f297628f. Rebase onto current main yields 42d86eb28e3d85b453a7292f4c5d92f2f297628f. All existing bot artifacts and restart-era owner replies inspected; no new actionable finding. Preserve earlier fixes and technical refusals. Verifying unchanged CI gates under the shared heavy lock; no merge, release or closure." "2026-10-03T00:12:19.704Z",codex-sol-land,"The pinned CLI 2026.9.23 supports schema/tracker/auto linked PM contexts, not the newer none mode. Focused extension registration/entrypoint regressions are linked as schema/snapshot so the copied workspace uses a synthetic tracker. Tracker writes use the project-local CLI to retain pinned-format compatibility. No trust policy or gate changed." "2026-10-03T00:23:56.570Z",codex-sol-land,"The full release gate failed in the existing live-fleet freshness assertion: pm-ts-starter manifest now declares SDK 2026.9.29, while the committed fleet snapshot declares 2026.7.6. This is the only failing coverage test. Preserve the failing gate receipt as red evidence, regenerate with npm run fleet:snapshot against PM_FLEET_ROOT, rerun the unchanged catalog assertion, then the full gate with the disposable PostgreSQL 17 fixture. No threshold or skip changes." @@ -27,6 +27,7 @@ comments[10]{created_at,author,text}: "2026-10-04T12:54:29.314Z",codex-sol,"First unpushed rebase attempt exposed sequential merge receipts that could not prove the final combined snapshot. Restored the exact original Git head 06ed310, retained the attempt patch/report, and used the installed canonical SDK original-Git-state proof to audit both receipts as abandoned (not applied merges). Retry will compose the full final main/PR tracker documents in one canonical merge so intermediate obsolete values cannot leave an unsettled decision. No receipt deletion, normalization, ownership override or gate bypass." "2026-10-04T13:02:21.944Z",codex-sol,"Cumulative rebase is complete. Correction to intermediary status assessment: the FINAL original PR document is newer than main and in_progress, so canonical cumulative merge retains that state; earlier main blocked state is represented by reviewed scalar receipt. Both main/PR comments, docs, files, notes and tests preserved, including audit markers for abandoned first attempt. Canonical merge reconcile and strict history verification pass without ownership override or separate history repair in this retry." "2026-10-04T13:12:32.076Z",codex-sol,"Rebased full release:check passes 409/409 with zero skips against isolated native PostgreSQL17.10. Catalog12/12; duplication0/40472 lines,142 sources,0 clones; unchanged coverage84.41 lines/80.54 branches/77.82 functions across32 files (statements unmeasured). Built-in npm/Bun packed acceptance both resolve CLI2026.10.4 and pass web status without deprecated diagnostics. Strict health exit0 with2 stale-item advisories; synthetic PostgreSQL stopped and removed. Durable bounded receipts for both abandoned first-attempt and four reviewed cumulative decisions will be committed with toon/history. Exact-head remote checks/reviews required; certification waits for orchestrator merge." + "2026-10-04T13:42:19.707Z",codex-sol,"Exact rebased source e07ad101dec125497b322eea5524d59898dea385 has green Node22/26 CI, CodeQL and Greptile; gh pr view 163 -R unbraind/pm-web --json state returns OPEN. Fully paginated comments/reviews/inline and reviewThreads found one new Greptile P2 requesting branch-based owner link. Reacted -1 and replied with explicit task requirement for blob/main PM links; resolved PRRT_kwDOSZgR5c6oy2di, no source change. Greptile updated summary and review body acknowledged +1. Historical redaction finding remains addressed at the preserved source. CodeRabbit bot-seat/rate-limit notices and Sourcery quota are missing evidence; cubic neutral, Gemini/Copilot absent. Rebase gate409/409 and synthetic packed acceptance remain prerequisite evidence, not real-tracker certification. Waiting for orchestrator merge before any consolidated certification branch." notes[4]{created_at,author,text}: "2026-09-29T12:33:07.927Z",codex,"At PR #163 head dcb96dd, jscpd 5.3.2 reported 71/40295 duplicated lines across ten clone pairs after npm ci; CI Node 22/26 failed. Reused the canonical entry guard, shared graph property filtering, unified two paginated PM list handlers, and consolidated repeated real-Postgres/realtime test setup without weakening assertions. The unchanged gate now reports 0/40200 lines and zero clone pairs. Typecheck passed. Full release:check rerun is underway after an unrelated live-fleet catalog snapshot drift was found and repaired under pm-web-bw5d." "2026-09-29T12:37:27.892Z",codex,"After the catalog refresh, the direct full npm run release:check passed: typecheck, lint, zero-duplication gate (0/40199 lines across 141 sources), docstrings (599 declarations in 92 files), 408 tests with zero failures/skips, declared coverage gate (32 source files), production audit zero, pack, packed npm/Bun CLI 2026.9.23 acceptance, changelog and publish attestation. This is not all-source 100/100/100/100; separate pm-web-fy9a owns that gap. PM-linked full gate with tracker context is running to verify packed fixture isolation." diff --git a/.agents/pm/issues/pm-web-xucb.toon b/.agents/pm/issues/pm-web-xucb.toon new file mode 100644 index 00000000..6893a792 --- /dev/null +++ b/.agents/pm/issues/pm-web-xucb.toon @@ -0,0 +1,28 @@ +id: pm-web-xucb +title: Resolve pm-web full development audit through unpatched braces and fast-glob +description: "CLI/ops/changelog2026.10.4 has clean production audit but four high full-audit entries through fast-glob/micromatch/braces and pm-ops. GHSA-vfj7-8cjw-p6xm affects every published braces3 release. pm-ops declares fast-glob^3.3.3 as an optional peer; its duplication entrypoint statically imports that peer, so this consumer must supply it. Removing the repository dependency makes audit clean but breaks the required canonical gate. Retain exact latest pins and audit/gate requirements pending a compatible clean peer chain." +type: Issue +status: open +priority: 1 +tags: [] +created_at: "2026-10-04T13:45:56.448Z" +updated_at: "2026-10-04T14:13:53.921Z" +author: codex-sol +acceptance_criteria: "Full npm audit and npm audit --omit=dev both zero on exact required pins; canonical pm-ops duplication and full package release gates pass without suppressions, skipped tests or forced breaking overrides." +severity: high +repro_steps: npm ci; npm audit --json; npm ls braces micromatch fast-glob pm-ops; npm view braces version +expected_result: All audit requirements clean with functional canonical gates. +actual_result: "Exact CLI/ops/changelog2026.10.4: direct and corrected linked full npm audit exit1/fourhigh throughbraces/micromatch/fastglob/pmops; production audit exit0/allzero; noopenDependabotalerts. Full functional gate411/411pass. Compatible patched braces3 release unavailable; simplyremovingfastglobbreakscanonicalpmopsduplication. Keepowneropen." +comments[3]{created_at,author,text}: + "2026-10-04T13:56:03.219Z",codex-sol,"Exact installed CLI/ops/changelog2026.10.4: npm audit --omit=dev --json exits0 with allzero; npm audit --json exits1 with fourhigh deventries. GitHub open Dependabotalerts returns[]; no openalertsilentlyclosed. Published braceslatest3.0.3 affected by GHSA-vfj7-8cjw-p6xm; no3.0.4published. Removing direct unusedfastglob was independently attempted in pm-graph certification and auditsclean, but canonical pm-ops10.4 duplication then throws ERR_MODULE_NOT_FOUND because its dist/duplication.js staticallyimports undeclaredfastglob. Keep latestexactpins andfunctionalcanonicalgate; blockerownedhereuntilcompatibleupstreamtooltreeclean. Do not force downgrade/suppressaudit." + "2026-10-04T14:01:53.564Z",codex-sol,"The initial linked npm audit commands hit runner-injected EALLOWSCRIPTS, so their exit1 is execution failure, not vulnerability evidence. Direct same-source npm audit --omit=dev --json recheckexit0/allzero; full recheckexit1/fourhigh. Replace the two new linked commands with child-scoped env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS wrappers; this changes no audit selection/threshold and no project or user npm configuration." + "2026-10-04T14:13:52.444Z",codex-sol,"Correction after complete installed manifest inspection: pm-ops2026.10.4 declares fast-glob^3.3.3 as an optional peer (peerDependenciesMeta.optional=true), rather than a direct dependency. The earlier undeclared-import wording was inaccurate. The duplication entrypoint statically imports that optional peer, so a consumer using this gate must provide it; removing it cannot certify the consumer. Clarify description/document; no missing-declaration defect claimed. Full development audit4high remains, prod audit0, functional fullgate411/411 and required consumer pins unchanged." +files[2]{path,scope}: + package-lock.json,project + package.json,project +tests[2]{command,scope,timeout_seconds,pm_context_mode,workspace_context_mode,provenance{author,created_at,source_kind,source_ref}}: + env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS npm audit --json,project,300,tracker,source,codex-sol,"2026-10-04T14:01:56.799Z",local_mutation,chore/pm-web-pm-cli-2026-10-4 + env -u npm_config_allow_scripts -u NPM_CONFIG_ALLOW_SCRIPTS npm audit --omit=dev --json,project,300,tracker,source,codex-sol,"2026-10-04T14:01:57.956Z",local_mutation,chore/pm-web-pm-cli-2026-10-4 +docs[1]{path,scope}: + docs/certification-2026.10.4.md,project +body: "" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 021f1671..6f4fba31 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,6 +68,9 @@ jobs: - name: Install dependencies run: npm ci + - name: Install pinned managed GitHub extension + run: bash scripts/install-pm-github.sh + - name: Verify tracked pm project health shell: bash run: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 050452c8..d6dc9fa1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -28,13 +28,13 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0 + uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2 with: languages: javascript-typescript # These packages are analyzed from source without a compiled build. build-mode: none - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0 + uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2 with: category: "/language:javascript-typescript" diff --git a/.gitignore b/.gitignore index c710cabb..6da909fc 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ coverage/ # Scratch artifacts from delegated agent runs; never part of the package. .pi-subagents/ + +# Downloaded managed extension implementation stays local. +.agents/pm/extensions/pm-github/ diff --git a/dist/services/pm-runner.d.ts b/dist/services/pm-runner.d.ts index 953dd1f6..2f455209 100644 --- a/dist/services/pm-runner.d.ts +++ b/dist/services/pm-runner.d.ts @@ -60,7 +60,7 @@ export declare function resolveProjectDir(projectId: string): Promise` serialized against the + * Makes the project directory, explicitly initializes its own tracker serialized against the * workspace, configures local Ollama search, and ensures the graph extension is * installed. Throws when `pm init` fails. * diff --git a/dist/services/pm-runner.js b/dist/services/pm-runner.js index 1ab8760c..f5efdef6 100644 --- a/dist/services/pm-runner.js +++ b/dist/services/pm-runner.js @@ -255,7 +255,7 @@ async function runSerialized(workspace, work) { /** * Create and initialize a project workspace on disk. * - * Makes the project directory, runs `pm init ` serialized against the + * Makes the project directory, explicitly initializes its own tracker serialized against the * workspace, configures local Ollama search, and ensures the graph extension is * installed. Throws when `pm init` fails. * @@ -266,7 +266,10 @@ async function runSerialized(workspace, work) { export async function initProject(userId, slug, prefix) { const dir = getProjectDir(userId, slug); fs.mkdirSync(dir, { recursive: true }); - const result = await runSerialized(dir, () => runProcess(dir, ["init", prefix], { timeoutMs: 15_000 })); + const result = await runSerialized(dir, () => runProcess(dir, [ + "workspace", "init", "--workspace", dir, "--prefix", prefix, + "--defaults", "--agent-guidance", "skip", + ], { timeoutMs: 15_000 })); if (!result.ok) throw new Error(result.stderr || "pm init failed"); configureLocalOllamaSearch(dir); diff --git a/dist/services/pm-runner.js.map b/dist/services/pm-runner.js.map index d74af01a..35100e09 100644 --- a/dist/services/pm-runner.js.map +++ b/dist/services/pm-runner.js.map @@ -1 +1 @@ -{"version":3,"file":"pm-runner.js","sourceRoot":"","sources":["../../src/services/pm-runner.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"pm-runner.js","sourceRoot":"","sources":["../../src/services/pm-runner.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/certification-2026.10.4.md b/docs/certification-2026.10.4.md new file mode 100644 index 00000000..aba42d28 --- /dev/null +++ b/docs/certification-2026.10.4.md @@ -0,0 +1,56 @@ +# PM CLI/SDK 2026.10.4 certification + +Owner: [pm-web-8pml](https://github.com/unbraind/pm-web/blob/main/.agents/pm/chores/pm-web-8pml.toon). Reused the existing open certification chore; its dated history remains intact. Prerequisite PR #163 was rebased, independently gated at 409/409, lease-pushed, reviewed and merged by the orchestrator as `86c31b1`; this branch starts from that new main. + +## Consolidated updates + +Runtime CLI stays exact **2026.10.4**, with the existing matching extension floor. pm-ops, pm-changelog and managed pm-github are **2026.10.4**. All development dependencies are exact, including jscpd **5.4.0**, types/node **26.6.4**, TypeScript **7.0.2**, tsx **4.23.15**, eslint **10.12.0**, Babel parser **8.0.6**, syntax plugin **8.0.3**, and yaml **2.9.1**. Runtime pg **8.23.1** is within the updated declared range. Incorporates pending Dependabot #162, #164, #165 and #166, including exact CodeQL SHA `2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2` with its **v4.38.2** comment. + +The merge-driver launcher is copied byte-for-byte from the installed pm-ops template. Its malformed lookup regression fails the old launcher and passes the published replacement. Updated the reviewed CodeQL allowlist without weakening its exact-SHA assertion. Regenerated the 20-extension fleet snapshot through the existing online generator after the canonical pm-ts-starter SDK description changed; no package or catalog entry was omitted. + +Packed acceptance found that project creation beneath an ancestor tracker refused implicit initialization. A regression executes the actual pinned CLI (only graph extension discovery is synthetic), fails before the fix, and now verifies the child prefix and byte-identical ancestor settings. The runtime explicitly selects the new child workspace and non-interactive defaults with no force override. The packaged server build is regenerated. + +## Gates and boundaries + +Every heavy command runs under `flock /tmp/claude-1000/heavy-gate.lock`. + +- `npm install`, then clean `npm ci`: pass; lock reproduces pinned dependencies. +- `bun install --no-save`: pass. This repository has no tracked Bun lock; removed only the newly generated scratch lock. +- `node --test test/prepare-merge-driver.test.ts`: **7/7 pass**, zero skips. +- `PM_FLEET_ROOT= node --test test/workflow-security.test.ts test/catalog.test.ts`: **15/15 pass**, zero skips. +- `node --test --test-name-pattern=project.initialization.selects test/pm-runner.test.ts`: **1/1 pass**, zero skips, actual pinned CLI. +- `pm test pm-web-8pml --run --only-index 3 --progress --json`: linked `env -u PM_PATH npm run release:check`, source workspace and tracker context, explicit canonical PM_FLEET_ROOT: **411/411 pass**, zero skips. +- Full gate uses an isolated temporary native PostgreSQL **17.10** cluster, stopped and deleted afterwards. No Docker or hosted service is used. +- Duplication: **0/40,537 lines, 142 sources, zero clone pairs**, unchanged zero threshold. +- Coverage: **84.49% lines / 80.60% branches / 77.82% functions**, 32 configured application source files. Existing 79/79/75 thresholds remain unchanged; statements are unmeasured. Whole-source quality owner **pm-web-fy9a** remains open. +- Fresh `rm -rf dist` + `npm run build`: pass; commit regenerated server artifacts. Frontend build passes. +- `npx pm health --strict-exit --require-merge-drivers`: exit zero; stale-item advisories remain separate from failures. +- `npm audit --omit=dev`: clean; GitHub open Dependabot alerts: zero. +- `npm audit`: **four high development entries**, still blocked through unpatched braces/micromatch/fast-glob/pm-ops; owner [pm-web-xucb](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-xucb.toon). No compatible patched braces3 release exists. Removing the unused repository fast-glob dependency was independently attempted in pm-graph: it makes audit clean but breaks canonical pm-ops10.4 duplication, which statically imports its declared optional fast-glob peer. This duplication consumer must supply that peer. No forced downgrade, audit suppression or gate exception was added. + +The first gate failed the old action allowlist and stale snapshot (408/410); those failures are preserved and fixed. An initial linked scoped run omitted PM_FLEET_ROOT and correctly refused the worktree inventory. Initial linked audit runs encountered runner-injected EALLOWSCRIPTS; direct audits and child-scoped environment-cleaned receipts distinguish execution failure from actual vulnerabilities. None of these failures counts as a passing receipt. + +## Packed real-tracker acceptance + +Copied this repository’s `.agents/pm` to `/tmp/claude-1000/cert-wt/pm-web-dogfood/.agents/pm`, ran `npm pack`, installed the tarball with `npm install --save-exact @unbrained/pm-cli@2026.10.4`, then `npx -y @unbrained/pm-cli@2026.10.4 package install --project`. + +For both launchers `npx -y @unbrained/pm-cli@2026.10.4` and **native Bun** `bunx --bun @unbrained/pm-cli@2026.10.4`, ran on separately allocated ports: + +```sh + web doctor --port --json + web status --port --json + web --detach --port --json + web status --port --json + web stop --port --json + web status --port --json +``` + +Both doctor checks report OK; status transitions DOWN → UP/healthy → DOWN. Each CLI launches the documented packaged Node server, using the acceptance-owned database, projects directory and PID files. A synthetic local account and project exercise the actual registration/project APIs. Copied the real tracker into that project; authenticated board, export and observational graph reads include **all 132 lifecycle items**, including the certification owner. An independent `list --all --full --include-body` with unbounded output supplies the baseline. npm/Bun export item values match deeply, and tracker documents/history/settings remain byte-identical around the observational reads. The first comparison mistakenly used the default open-only baseline (21); correcting it to `--all` retained the complete 132-item assertion. + +Stopped both acceptance servers and the native database, and deleted the scratch projects/tracker. This does not attest hosted deployment, live identity providers, tenant isolation, realtime recovery/scale, external services or privacy issue #96. + +## Managed GitHub preview + +Installed managed **pm-github 2026.10.4** and added CI restoration of that exact verified extension. `npx pm github sync --repo unbraind/pm-web --dry-run` exits zero: no provenance-linked cases, `synced: 0`, `skipped: 0`, `planned: 0`. No issue writes or scheduled sync. + +Certification remains **NOT READY** while the full-development audit and required reviewer evidence remain open. The orchestrator owns merge, item closure and any separate deployment. diff --git a/docs/rebase-163-2026.10.4.md b/docs/rebase-163-2026.10.4.md index 7a24c5b3..4dcc6d3d 100644 --- a/docs/rebase-163-2026.10.4.md +++ b/docs/rebase-163-2026.10.4.md @@ -23,3 +23,7 @@ Every heavy operation uses `flock /tmp/claude-1000/heavy-gate.lock`. - Changelog regenerated after PM mutations and checked with the repository's own scripts. Exact-head remote CI and substantive reviewer evidence are checked after push. CodeRabbit's bot-seat skip, Sourcery quota notices and neutral reviewer statuses are reported as unavailable evidence. This record does not attest hosted deployment, privacy issue #96, tenant isolation, realtime scale or production readiness. + +## Exact source review + +Node 22/26 CI, CodeQL and Greptile pass at `e07ad101dec125497b322eea5524d59898dea385`. Greptile’s owner-link suggestion is declined under the explicit requirement for durable `blob/main` PM links; its thread was answered and resolved. The historical redaction finding remains addressed in the preserved source. Every observed bot body was reacted to and answered. Unavailable and absent reviewers remain missing evidence. PR #163 is open pending orchestrator merge; no certification branch has been created from the older main. diff --git a/package-lock.json b/package-lock.json index c2eb8da4..73e264c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,26 +17,26 @@ "jsonwebtoken": "^9.0.2", "neo4j-driver": "^6.2.0", "openid-client": "^6.8.7", - "pg": "^8.23.0", + "pg": "^8.23.1", "uuid": "^14.0.2" }, "devDependencies": { - "@babel/eslint-parser": "^8.0.5", - "@babel/plugin-syntax-typescript": "^8.0.3", - "@types/cookie-parser": "^1.4.8", - "@types/express": "^5.0.6", - "@types/jsonwebtoken": "^9.0.9", - "@types/node": "^26.2.0", - "@types/pg": "^8.23.1", - "@types/uuid": "^11.0.0", - "eslint": "^10.10.0", - "fast-glob": "^3.3.3", - "jscpd": "^5.3.2", - "pm-changelog": "2026.9.25", - "pm-ops": "2026.9.28", - "tsx": "^4.23.12", - "typescript": "^7.0.2", - "yaml": "^2.9.0" + "@babel/eslint-parser": "8.0.6", + "@babel/plugin-syntax-typescript": "8.0.3", + "@types/cookie-parser": "1.4.10", + "@types/express": "5.0.6", + "@types/jsonwebtoken": "9.0.10", + "@types/node": "26.6.4", + "@types/pg": "8.23.1", + "@types/uuid": "11.0.0", + "eslint": "10.12.0", + "fast-glob": "3.3.3", + "jscpd": "5.4.0", + "pm-changelog": "2026.10.4", + "pm-ops": "2026.10.4", + "tsx": "4.23.15", + "typescript": "7.0.2", + "yaml": "2.9.1" }, "engines": { "node": ">=22.18.0" @@ -1418,9 +1418,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.2.tgz", - "integrity": "sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==", + "version": "26.6.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", + "integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==", "license": "MIT", "dependencies": { "undici-types": "~8.9.0" @@ -2454,9 +2454,9 @@ } }, "node_modules/eslint": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.11.0.tgz", - "integrity": "sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==", + "version": "10.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.12.0.tgz", + "integrity": "sha512-npHjrHb2o4ehH3mE+YuxABR+0gyb0aVWCIolgJDArwCiHEIsonBm3ZKjel5b0U5+a+MbEvIyRCGCzD3eKKK2NA==", "dev": true, "license": "MIT", "workspaces": [ @@ -3207,9 +3207,9 @@ "peer": true }, "node_modules/jscpd": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.3.2.tgz", - "integrity": "sha512-siYdg3TBNwizWFaYPgr1vwuSs+NWeKJjLAbd00Nkmr2y8TSZRSW0cOGKtqSLgOv7QXDbC/XECnCrZEm5v6RMkg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.4.0.tgz", + "integrity": "sha512-6mU8OHff4rPJ3D5lIsQns82/aQhDas22gMsGurHx1wcrfXWOZDNaobi6rKhLevo+77ntWKUXOwtM6lcrkJeL7w==", "dev": true, "license": "MIT", "bin": { @@ -3222,20 +3222,20 @@ "url": "https://opencollective.com/jscpd" }, "optionalDependencies": { - "jscpd-darwin-arm64": "5.3.2", - "jscpd-darwin-x64": "5.3.2", - "jscpd-linux-arm64-gnu": "5.3.2", - "jscpd-linux-arm64-musl": "5.3.2", - "jscpd-linux-x64-gnu": "5.3.2", - "jscpd-linux-x64-musl": "5.3.2", - "jscpd-windows-arm64-msvc": "5.3.2", - "jscpd-windows-x64-msvc": "5.3.2" + "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" } }, "node_modules/jscpd-darwin-arm64": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-darwin-arm64/-/jscpd-darwin-arm64-5.3.2.tgz", - "integrity": "sha512-dlNh+revPs3X1yTRNAYqZD9u7eqiR9I+KoNvEk9JzSwzOuaUQrgwpP5EZQB0NKuF0oZZZeKrk05OTsNorVpqmQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-darwin-arm64/-/jscpd-darwin-arm64-5.4.0.tgz", + "integrity": "sha512-fNIDtNn9WE4YXoFoqf+3tkHb1+GaKKOeKzh77Wx61Gfa9iDxlCv5rO0Fjy7oWmGehUUKqslDaeXXtn/RoDprCg==", "cpu": [ "arm64" ], @@ -3247,9 +3247,9 @@ ] }, "node_modules/jscpd-darwin-x64": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-darwin-x64/-/jscpd-darwin-x64-5.3.2.tgz", - "integrity": "sha512-JUt9dhLw2k1WNLqbFcqbDf8ErR6mp9ucKn+chRBsBRdx7MNbdEXmV5UuHRBO8d9h7Cw1eSpfpBPMTCXOS4aaeA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-darwin-x64/-/jscpd-darwin-x64-5.4.0.tgz", + "integrity": "sha512-bxlnCVEb69SGIsas1+PaqZyFY8iYVTVjCBxfjVD74UafX115Ysw+oO9LAlsJaGsKUnK8Zsq5bhM33kBHux6bTA==", "cpu": [ "x64" ], @@ -3261,9 +3261,9 @@ ] }, "node_modules/jscpd-linux-arm64-gnu": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-gnu/-/jscpd-linux-arm64-gnu-5.3.2.tgz", - "integrity": "sha512-4+Z/fW7nqruf47AXRXPe8nTeExPm93Gt4A/6B4Wsi6b0G8Ei/tYDxB4jAwUBXnOGVwxrr/IDJlgSEvHLbzX+MQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-gnu/-/jscpd-linux-arm64-gnu-5.4.0.tgz", + "integrity": "sha512-c4hX5QjuRyzLFJ+A+jNGHRpGlDvxcx+zzs4RJmZHpl23istuTMIkelwTOWliF4gXOm0RWXDlX/ywWKr9+Lre7w==", "cpu": [ "arm64" ], @@ -3278,9 +3278,9 @@ ] }, "node_modules/jscpd-linux-arm64-musl": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-musl/-/jscpd-linux-arm64-musl-5.3.2.tgz", - "integrity": "sha512-+OsVA0iLfDNUIzJArAaJnGyOHxsflpbpkGh/mWs2nZV7vPd1g5Y9SWO+vj83f6BdaO9VNbUbaQAY4dBYadfHIA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-musl/-/jscpd-linux-arm64-musl-5.4.0.tgz", + "integrity": "sha512-p4FUCNyL8WPTlizdZqfjontFwJ/+jnERYM2+YX2miYvm0NxzsIi23MhfzPl/eUHxkiT5wethV0NRYEAkJr999Q==", "cpu": [ "arm64" ], @@ -3295,9 +3295,9 @@ ] }, "node_modules/jscpd-linux-x64-gnu": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-linux-x64-gnu/-/jscpd-linux-x64-gnu-5.3.2.tgz", - "integrity": "sha512-DsNsbCCc5mMOGZdhzgPETsp9RAaKk03cdx1K9wx9RShePnF+AXstYYSiW7M/qjZqvBMlSpO60BXpJvNUQljJJg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-linux-x64-gnu/-/jscpd-linux-x64-gnu-5.4.0.tgz", + "integrity": "sha512-44NXS0gtYbjBCc53Gwilgj7PPwnWv9YTF/rGc0ZfnFcpzSoOKKU11yH+qHfCVie1hHte1wHyZ1f9Kjc8nGe2/g==", "cpu": [ "x64" ], @@ -3312,9 +3312,9 @@ ] }, "node_modules/jscpd-linux-x64-musl": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-linux-x64-musl/-/jscpd-linux-x64-musl-5.3.2.tgz", - "integrity": "sha512-9D+Jg4MXTHoY5FiK6Fh3FeAr1MsqNS98X5zMUH6PNXu9PKsT0g3Rez2vdYOnoKOE4n8o1XAs8eyU0pm3+HYwog==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-linux-x64-musl/-/jscpd-linux-x64-musl-5.4.0.tgz", + "integrity": "sha512-m9XHj14Zwia9RjWDkHDrl6VJ3W/b7m8qjFqjhcJ668Vkxoj4Ri/qeo0bo6is+fSw+bYxYexV6xxqIKRDolc8Lg==", "cpu": [ "x64" ], @@ -3329,9 +3329,9 @@ ] }, "node_modules/jscpd-windows-arm64-msvc": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-windows-arm64-msvc/-/jscpd-windows-arm64-msvc-5.3.2.tgz", - "integrity": "sha512-qPqZEMHUOjc5tKVU7PElyIhI1J0xyAuQ44S2SwLvKS5qw1NATGTaGhp8MuJkrvTmNcNZmLF0Me6Cv6zj6DVlWA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-windows-arm64-msvc/-/jscpd-windows-arm64-msvc-5.4.0.tgz", + "integrity": "sha512-AoP5RXyb9gIf8xmFwAc+Rgh4XJNyX1upcD+R1A6u4XjsDo2/oF+KKB4dtKnG2DbFQ+0fyFg/ClOcw+asQZJfPg==", "cpu": [ "arm64" ], @@ -3343,9 +3343,9 @@ ] }, "node_modules/jscpd-windows-x64-msvc": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/jscpd-windows-x64-msvc/-/jscpd-windows-x64-msvc-5.3.2.tgz", - "integrity": "sha512-WfO1k0/NXA+2HjLaWUkheQv6bEkYrI4WKa/Cf429+dnpdiYB6S8KpJyd6/xGJd+XJ9nKhE0mIFuk3+VdXtaFMQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jscpd-windows-x64-msvc/-/jscpd-windows-x64-msvc-5.4.0.tgz", + "integrity": "sha512-dYkb5mAo5i7fjrtf2Ft6z9a/I38RJMd4JirEgJiW2BIv5pAGmfMVPDy1xEXL3hJqraXzeMIfnzqJFanefCyC6g==", "cpu": [ "x64" ], @@ -3893,14 +3893,14 @@ } }, "node_modules/pg": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.23.0.tgz", - "integrity": "sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.23.1.tgz", + "integrity": "sha512-aL96AHANtWjPLDOLqnhx+ngp9+UK7ETEU8VJrDCGvsSSi/mGLcWYsS6Herg7lmaBJe4uwrfqsa7gTEFaSizDoQ==", "license": "MIT", "dependencies": { - "pg-connection-string": "^2.14.0", + "pg-connection-string": "^2.14.1", "pg-pool": "^3.14.0", - "pg-protocol": "^1.16.0", + "pg-protocol": "^1.16.1", "pg-types": "2.2.0", "pgpass": "1.0.5" }, @@ -3908,7 +3908,7 @@ "node": ">= 16.0.0" }, "optionalDependencies": { - "pg-cloudflare": "^1.4.0" + "pg-cloudflare": "^1.4.1" }, "peerDependencies": { "pg-native": ">=3.0.1" @@ -3920,16 +3920,16 @@ } }, "node_modules/pg-cloudflare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", - "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.1.tgz", + "integrity": "sha512-6PQbsFWZcp9EmJEwy5cGQ2La+AMWpP46lgbb8X+U/XsHIUweYDNCpeuKck5RxL2MdVFi7krbbEi5nX4Zh7JhrQ==", "license": "MIT", "optional": true }, "node_modules/pg-connection-string": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", - "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.1.tgz", + "integrity": "sha512-qR3kGNPBLpCNtz0evbKA0Y/MRFXwSSdT+pTJvYp/bXTcReZbvX1kzF0IyTc1QnxqF7AZbOeBhNL8R5mYQZV/MA==", "license": "MIT" }, "node_modules/pg-int8": { @@ -3951,9 +3951,9 @@ } }, "node_modules/pg-protocol": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.0.tgz", - "integrity": "sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.1.tgz", + "integrity": "sha512-p9VOFMiHB/ZbJATetbg+99PxssTVSQRnyuPSQ67mN1+1KBOjZaZ83ZQzltnxPhJwSsC3nwVjJ10DVJlerbFzLg==", "license": "MIT" }, "node_modules/pg-types": { @@ -4003,9 +4003,9 @@ } }, "node_modules/pm-changelog": { - "version": "2026.9.25", - "resolved": "https://registry.npmjs.org/pm-changelog/-/pm-changelog-2026.9.25.tgz", - "integrity": "sha512-j2l97jlJIfuMiB7KDi7oIr9MWxdQvqnDx/JwE3pxC31fDw3MywnSmaTcE9/gV6sVlZbQkOSxnxooHzDwRo+1+g==", + "version": "2026.10.4", + "resolved": "https://registry.npmjs.org/pm-changelog/-/pm-changelog-2026.10.4.tgz", + "integrity": "sha512-YJJHJYv2i+olzGVF+qdab3wWG6auiRVIvf7TZD4ZdUhE/8lIawf3aYOOZZVJHogN8xP8rNUlVV9Lc1OXKLlQ7w==", "dev": true, "license": "MIT", "bin": { @@ -4019,9 +4019,9 @@ } }, "node_modules/pm-ops": { - "version": "2026.9.28", - "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.9.28.tgz", - "integrity": "sha512-MjsVk6uGYz8X3OxVuBHuBUEjcoUb3ubqSCG/hWvYOlj8AI8gbc3IPsIUGfDECH6WYP63B8hYjvc6Ahv3DdbIyQ==", + "version": "2026.10.4", + "resolved": "https://registry.npmjs.org/pm-ops/-/pm-ops-2026.10.4.tgz", + "integrity": "sha512-/6ehQBNwKquIol3EUW1r4pZSXKaohHc1gXJUSk7cqQwkVJOSlP8cCcHzNFH76/6O9hG04Eb5KAH90vFkhTxfMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4593,9 +4593,9 @@ "license": "0BSD" }, "node_modules/tsx": { - "version": "4.23.13", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.13.tgz", - "integrity": "sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==", + "version": "4.23.15", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz", + "integrity": "sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index c7fd7ad6..0f706473 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@unbrained/pm-web", "version": "2026.9.26", - "description": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.", + "description": "Full web UI for pm-cli \u2014 browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.", "type": "module", "files": [ "dist/", @@ -56,26 +56,26 @@ "jsonwebtoken": "^9.0.2", "neo4j-driver": "^6.2.0", "openid-client": "^6.8.7", - "pg": "^8.23.0", + "pg": "^8.23.1", "uuid": "^14.0.2" }, "devDependencies": { - "@babel/eslint-parser": "^8.0.5", - "@babel/plugin-syntax-typescript": "^8.0.3", - "@types/cookie-parser": "^1.4.8", - "@types/express": "^5.0.6", - "@types/jsonwebtoken": "^9.0.9", - "@types/node": "^26.2.0", - "@types/pg": "^8.23.1", - "@types/uuid": "^11.0.0", - "eslint": "^10.10.0", - "fast-glob": "^3.3.3", - "jscpd": "^5.3.2", - "pm-changelog": "2026.9.25", - "pm-ops": "2026.9.28", - "tsx": "^4.23.12", - "typescript": "^7.0.2", - "yaml": "^2.9.0" + "@babel/eslint-parser": "8.0.6", + "@babel/plugin-syntax-typescript": "8.0.3", + "@types/cookie-parser": "1.4.10", + "@types/express": "5.0.6", + "@types/jsonwebtoken": "9.0.10", + "@types/node": "26.6.4", + "@types/pg": "8.23.1", + "@types/uuid": "11.0.0", + "eslint": "10.12.0", + "fast-glob": "3.3.3", + "jscpd": "5.4.0", + "pm-changelog": "2026.10.4", + "pm-ops": "2026.10.4", + "tsx": "4.23.15", + "typescript": "7.0.2", + "yaml": "2.9.1" }, "repository": { "type": "git", @@ -108,7 +108,7 @@ "catalog": { "display_name": "pm Web UI", "category": "app", - "summary": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.", + "summary": "Full web UI for pm-cli \u2014 browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.", "tags": [ "web", "pwa", diff --git a/scripts/install-pm-github.sh b/scripts/install-pm-github.sh new file mode 100755 index 00000000..648c95c2 --- /dev/null +++ b/scripts/install-pm-github.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Install the exact managed extension in CI and retain its durable registry. +set -euo pipefail + +pm_github_version=2026.10.4 +./node_modules/.bin/pm package install "npm:pm-github@${pm_github_version}" --project +node -e 'if (require("./.agents/pm/extensions/pm-github/package.json").version !== process.argv[1]) process.exit(1)' "${pm_github_version}" + +managed_registry=".agents/pm/extensions/.managed-extensions.json" +if git ls-files --error-unmatch "${managed_registry}" > /dev/null 2>&1; then + git restore -- "${managed_registry}" +else + rm -f "${managed_registry}" +fi diff --git a/scripts/prepare-merge-driver.ts b/scripts/prepare-merge-driver.ts index 728ece4a..f6f49f07 100644 --- a/scripts/prepare-merge-driver.ts +++ b/scripts/prepare-merge-driver.ts @@ -31,8 +31,12 @@ try { // 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. + // searches. Such an entry also counts as present. Keep Node's global paths + // too: the installer resolution above can use them, so an absent local + // package alone cannot prove absence. An unreadable or malformed lookup path + // leaves presence uncertain and must fail closed with the original error. + // 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"); @@ -40,7 +44,16 @@ try { 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, + (directory) => { + try { + return lstatSync(join(directory, "pm-ops"), { throwIfNoEntry: false }) !== undefined; + } catch { + // throwIfNoEntry:false only suppresses ENOENT, not EACCES, EPERM, + // ENOTDIR, or ELOOP. Do not replace the installer diagnostic or + // treat an inconclusive presence check as an omit-dev install. + return true; + } + }, ); } if (packagePresent) throw error; diff --git a/src/services/pm-runner.ts b/src/services/pm-runner.ts index 6e1b1294..896ecc7c 100644 --- a/src/services/pm-runner.ts +++ b/src/services/pm-runner.ts @@ -296,7 +296,7 @@ async function runSerialized(workspace: string, work: () => Promise): Prom /** * Create and initialize a project workspace on disk. * - * Makes the project directory, runs `pm init ` serialized against the + * Makes the project directory, explicitly initializes its own tracker serialized against the * workspace, configures local Ollama search, and ensures the graph extension is * installed. Throws when `pm init` fails. * @@ -307,7 +307,10 @@ async function runSerialized(workspace: string, work: () => Promise): Prom export async function initProject(userId: string, slug: string, prefix: string): Promise { const dir = getProjectDir(userId, slug); fs.mkdirSync(dir, { recursive: true }); - const result = await runSerialized(dir, () => runProcess(dir, ["init", prefix], { timeoutMs: 15_000 })); + const result = await runSerialized(dir, () => runProcess(dir, [ + "workspace", "init", "--workspace", dir, "--prefix", prefix, + "--defaults", "--agent-guidance", "skip", + ], { timeoutMs: 15_000 })); if (!result.ok) throw new Error(result.stderr || "pm init failed"); configureLocalOllamaSearch(dir); await ensureGraphExtension(userId, slug); diff --git a/test/fleet-extensions.snapshot.json b/test/fleet-extensions.snapshot.json index 75eeae5e..af124ed3 100644 --- a/test/fleet-extensions.snapshot.json +++ b/test/fleet-extensions.snapshot.json @@ -238,7 +238,7 @@ }, { "name": "pm-ts-starter", - "description": "TypeScript reference extension covering all 9 SDK capability types: commands, renderers, hooks, schema, importers, search, parser, preflight, services. Checked against the pm-cli 2026.9.29 SDK: demonstrates defineExtension plus registerCommand/registerFlags (with failure_hints + typed positional arguments), registerItemFields/registerItemTypes/registerMigration, the five api.hooks.* lifecycle hooks, registerImporter/registerExporter (with ImportExportRegistrationOptions), registerRenderer, registerSearchProvider/registerVectorStoreAdapter, registerParser, registerPreflight, registerService, PmCliExpectedError-shaped errors, demo commands for the plan/context/search/history-compact pm surfaces, and a guided `ts-starter setup --interactive` onboarding - all fully typed.", + "description": "TypeScript reference extension covering all 9 SDK capability types: commands, renderers, hooks, schema, importers, search, parser, preflight, services. Checked against the pm-cli 2026.10.4 SDK: demonstrates defineExtension plus registerCommand/registerFlags (with failure_hints + typed positional arguments), registerItemFields/registerItemTypes/registerMigration, the five api.hooks.* lifecycle hooks, registerImporter/registerExporter (with ImportExportRegistrationOptions), registerRenderer, registerSearchProvider/registerVectorStoreAdapter, registerParser, registerPreflight, registerService, PmCliExpectedError-shaped errors, demo commands for the plan/context/search/history-compact pm surfaces, and a guided `ts-starter setup --interactive` onboarding - all fully typed.", "packageDescription": "TypeScript reference extension for pm-cli covering all capability types", "capabilities": [ "commands", diff --git a/test/pm-runner.test.ts b/test/pm-runner.test.ts index a6842d0c..31fe0619 100644 --- a/test/pm-runner.test.ts +++ b/test/pm-runner.test.ts @@ -1,4 +1,5 @@ import assert from "node:assert/strict"; +import { spawnSync } from "node:child_process"; import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; @@ -9,6 +10,7 @@ import { evictPmClient, EXIT_CODE, getPmClient, + initProject, PmWebCompleteListReceiptError, readCompletePmItems, runPm, @@ -462,3 +464,40 @@ process.stdout.write(JSON.stringify({ argv: process.argv.slice(2) })); await rm(root, { recursive: true, force: true }); } }); + + +test("project initialization selects its own tracker beneath an ancestor tracker", async () => { + const root = await mkdtemp(path.join(tmpdir(), "pm-web-init-ancestor-")); + const previousRoot = process.env["PROJECTS_ROOT"]; + const previousBin = process.env["PM_CLI_BIN"]; + const cli = path.resolve("node_modules/@unbrained/pm-cli/dist/cli.js"); + const ancestorSettings = path.join(root, ".agents", "pm", "settings.json"); + try { + const initialized = spawnSync(process.execPath, [cli, "--pm-path", path.dirname(ancestorSettings), + "workspace", "init", "--prefix", "ancestor", "--defaults", "--agent-guidance", "skip", "--no-merge-fence"], + { cwd: root, encoding: "utf8" }); + assert.equal(initialized.status, 0, initialized.stderr); + const before = await readFile(ancestorSettings, "utf8"); + const wrapper = path.join(root, "pm-fixture.cjs"); + // Only extension discovery is synthetic; init runs the actual pinned CLI. + await writeFile(wrapper, `#!/usr/bin/env node +const { spawnSync } = require("node:child_process"); +if (process.argv[2] === "extension") { + process.stdout.write(JSON.stringify({details:{extensions:[{name:"pm-graph",active:true,enabled:true}]}})); +} else { + const result = spawnSync(process.execPath, [${JSON.stringify(cli)}, ...process.argv.slice(2)], {stdio:"inherit"}); + process.exit(result.status ?? 1); +} +`); + await chmod(wrapper, 0o755); + process.env["PROJECTS_ROOT"] = root; + process.env["PM_CLI_BIN"] = wrapper; + await initProject("owner", "nested", "child"); + const childSettings = JSON.parse(await readFile(path.join(root, "owner", "nested", ".agents", "pm", "settings.json"), "utf8")) as { id_prefix: string }; + assert.equal(childSettings.id_prefix, "child-"); + assert.equal(await readFile(ancestorSettings, "utf8"), before, "ancestor settings stay byte-identical"); + } finally { + restoreEnvVars(previousRoot, previousBin); + await rm(root, { recursive: true, force: true }); + } +}); diff --git a/test/prepare-merge-driver.test.ts b/test/prepare-merge-driver.test.ts index c3bb230f..89e20ffa 100644 --- a/test/prepare-merge-driver.test.ts +++ b/test/prepare-merge-driver.test.ts @@ -109,6 +109,16 @@ test("a pm-ops too old to export the launcher entry fails the install", posixOnl assert.match(result.stderr, /ERR_PACKAGE_PATH_NOT_EXPORTED/); }); +test("a non-directory lookup path preserves the original missing-module error", () => { + const directory = checkout("non-directory", "absent"); + writeFileSync(join(directory, "node_modules"), "not a directory"); + const result = prepare(directory, hostPath); + assert.notEqual(result.status, 0, result.stderr); + assert.match(result.stderr, /MODULE_NOT_FOUND/); + assert.doesNotMatch(result.stderr, /ENOTDIR|skipping merge-driver install/); + assert.deepEqual(registeredDrivers(directory), []); +}); + test("a failing pm merge install fails the install with the same status", posixOnly, () => { const result = prepare(checkout("failing-pm", "pinned"), stubPm("failing-pm", 7)); assert.equal(result.status, 7, result.stderr); diff --git a/test/workflow-security.test.ts b/test/workflow-security.test.ts index 45c4657b..714e1cff 100644 --- a/test/workflow-security.test.ts +++ b/test/workflow-security.test.ts @@ -10,8 +10,8 @@ const TRUSTED_ACTION_COMMITS = new Map([ ["oven-sh/setup-bun", "0c5077e51419868618aeaa5fe8019c62421857d6"], // The CodeQL action is referenced twice, as distinct sub-actions sharing one // release commit, so both names must be listed for the gate to cover them. - ["github/codeql-action/init", "b96794f015dfd88f77b49b1c93e0fa7110f94c63"], - ["github/codeql-action/analyze", "b96794f015dfd88f77b49b1c93e0fa7110f94c63"], + ["github/codeql-action/init", "2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2"], + ["github/codeql-action/analyze", "2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2"], ]); /** Workflow files shipped by this repository. */