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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .agents/pm/chores/pm-web-8pml.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
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"
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
priority: 2
tags: []
created_at: "2026-09-26T16:15:15.599Z"
updated_at: "2026-10-04T09:37:18.792Z"
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}:
"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."
"2026-10-02T23:14:49.801Z",codex-sol,"Transitive lock refresh changed only ip-address 10.5.0 to 10.7.3; reproducible npm ci and production audit report zero vulnerabilities. Retry full gate was correctly refused by snapshot assertion because the new shell omitted required PM_FLEET_ROOT and scanned worktree inventory (408/409 tests). This is execution environment error, not a source/snapshot change: rerun unchanged full gate with explicit canonical fleet root. All assertions and prior failed receipts retained."
"2026-10-02T23:21:58.634Z",codex-sol,"Final corrected-environment full gate passes: PM_FLEET_ROOT set to canonical fleet, locked release:check 409/409 tests, zero skips, 32-source coverage 84.39 lines / 80.48 branches / 77.82 functions, no independent statements metric. Doc/duplication gates, production audit zero vulnerabilities, real packed npm/Bun, changelog/date and attestation pass. ip-address lock-only 10.5.0 to 10.7.3 is the sole dependency delta, bounded malformed IPv6 rejection passes, and npm ci is reproducible. Accepted graph-fidelity tradeoff remains pm-web-38n5. Keep 100 percent coverage and substantive final-head review prerequisites open; no hosted deployment or user-data change. Release claim for orchestrator."
"2026-10-02T23:39:05.567Z",codex-sol,"Cubic review corrections: title now lists all three tool pins. Correction to the 23:03 audit receipt: express-rate-limit is ^8.6.2 resolved 8.7.0; its transitive ip-address range is ^10.2.0, upgraded from 10.5.0 to 10.7.3. Preserve original history and append this accurate dependency-chain receipt. New teardown-order assertion will fail before fixing fixture cleanup; no runtime graph behavior change."
"2026-10-02T23:45:37.860Z",codex-sol,"Second review round: actual teardown assertion failed under old t.after ordering, then passed after one cleanup hook closes the app before restoring both environment variables and removing the workspace. Linked real graph test passes. Four valid tracker findings are clarified without dropping dated notes/history; neighbors response parity remains explicitly unmet. Full unchanged gate is queued with canonical PM_FLEET_ROOT; pushing tested correction allows exact-head CI and bots to run concurrently. Do not treat pending full gate or reviews as approval."
"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."
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]:
- path: manifest.json
scope: project
note: minimum host CLI version
- path: package-lock.json
scope: project
note: resolved versions and integrity
- path: package.json
scope: project
note: exact package dependency pins
- path: scripts/prepare-merge-driver.ts
scope: project
note: canonical pm-ops launcher
- path: test/graph-read-only.test.ts
scope: project
tests[2]:
- command: node --test test/packaging.test.ts test/prepare-merge-driver.test.ts
scope: project
timeout_seconds: 120
provenance:
author: codex
created_at: "2026-09-26T16:23:15.980Z"
source_kind: local_mutation
source_ref: fix/pm-web-graph-get-observational-2026-09-26
- command: node scripts/with-test-db.ts node --test test/graph-read-only.test.ts
scope: project
provenance:
author: codex-sol
created_at: "2026-10-02T22:11:47.806Z"
source_kind: local_mutation
source_ref: land-restart/pm-web-161
docs[1]{path,scope}:
README.md,project
body: ""
14 changes: 14 additions & 0 deletions .agents/pm/features/pm-web-38n5.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
id: pm-web-38n5
title: Preserve pm-graph export fidelity in observational graph reads
description: "The security fix for pm-web-jpa6 serves the built-in graph on every overview GET, even when pm-graph is installed. This preserves safe-method semantics but may omit pm-graph-specific nodes, relationships, filtering, or metadata. Define a pure read API over certified PM items in pm-graph or an equivalent no-activation integration, compare real extension exports and web responses, and retain explicit POST synchronization only for writes."
type: Feature
status: open
priority: 1
tags: []
created_at: "2026-09-26T16:28:19.017Z"
updated_at: "2026-09-26T16:28:30.274Z"
author: codex
acceptance_criteria: "The installed pm-graph and built-in graph paths have documented, measured node/edge/metadata parity on realistic workspaces; graph GET/HEAD remains observational for view-only users and does not activate extensions; the extensionAvailable/source response accurately describes the data returned; large-corpus latency is bounded and tested; no private hosted data enters public fixtures."
dependencies[1]{id,kind,created_at,author,source_kind,author_source}:
pm-web-jpa6,related,"2026-09-26T16:28:30.233Z",codex,"cli:update:dep",detected
body: ""
Loading
Loading