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
2 changes: 1 addition & 1 deletion .agents/pm/extensions/.managed-extensions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updated_at": "2026-08-01T12:16:11.742Z",
"updated_at": "2026-08-01T14:42:00.494Z",
"entries": [
{
"name": "pm-changelog",
Expand Down
34 changes: 34 additions & 0 deletions .agents/pm/history/pm-hx23u5.jsonl

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions .agents/pm/history/pm-scga6k.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{"ts":"2026-08-01T13:27:35.279Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"create","patch":[{"op":"add","path":"/metadata/id","value":"pm-scga6k"},{"op":"add","path":"/metadata/title","value":"GH-855: core mutation locators must honor extension-registered item types"},{"op":"add","path":"/metadata/description","value":"Active extensions can register custom item type folders that reads and create honor, while core mutation locators omit the active registry. Unify item resolution across close, update, annotations, delete/restore, bulk operations, and workspace transactions, then prove a non-persisted extension type through installed-package lifecycle acceptance."},{"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":["area:extensions","area:sdk","consistency","custom-types","gh-issue","item-lifecycle"]},{"op":"add","path":"/metadata/created_at","value":"2026-08-01T13:27:35.279Z"},{"op":"add","path":"/metadata/updated_at","value":"2026-08-01T13:27:35.279Z"},{"op":"add","path":"/metadata/author","value":"harness:codex"},{"op":"add","path":"/metadata/acceptance_criteria","value":"All core item and annotation mutation locators consume the active extension item-type registry; Installed-package end-to-end coverage exercises create, read, update, annotate, close, delete, restore, and bulk or transactional mutation for a non-persisted custom type; Public SDK and CLI behavior stay identical with no private package workaround"},{"op":"add","path":"/metadata/parent","value":"pm-usfg"},{"op":"add","path":"/metadata/severity","value":"high"},{"op":"add","path":"/metadata/repro_steps","value":"Install an extension registering Run in runs, create through context.sdk.client, then call client.close or pm update without persisting the type in schema/types.json"},{"op":"add","path":"/metadata/expected_result","value":"Every read and mutation path resolves extension-contributed item folders from the same active registry"},{"op":"add","path":"/metadata/actual_result","value":"get/list/create find a registered custom type item while update and close return Item ID not found"},{"op":"add","path":"/metadata/affected_version","value":"2026.8.1"},{"op":"add","path":"/metadata/component","value":"sdk/lifecycle/storage"},{"op":"add","path":"/metadata/dependencies","value":[{"id":"pm-iqq0","kind":"discovered_from","created_at":"2026-08-01T13:27:35.279Z","author":"harness:codex","source_kind":"cli:create:dep","author_source":"detected"},{"id":"pm-usfg","kind":"implements","created_at":"2026-08-01T13:27:35.279Z","author":"harness:codex","source_kind":"cli:create:dep","author_source":"detected"},{"id":"pm-z5nb","kind":"related","created_at":"2026-08-01T13:27:35.279Z","author":"harness:codex","source_kind":"cli:create:dep","author_source":"detected"}]},{"op":"add","path":"/metadata/comments","value":[{"created_at":"2026-08-01T13:27:35.279Z","author":"harness:codex","text":"text=Duplicate check evidence: searched all statuses for GH-855, extension custom type locator, custom folders, mutation lookup, and schema registry. Closed pm-iqq0 and schema lineage provide registration/customization foundations; no item tracks mutation-path registry parity. Source: https://github.com/unbraind/pm-cli/issues/855"}]}],"before_hash":"3cc22dff72be7b14824654a7a64ea62b04799939b2fee54c1b5f52ca60bf6df0","after_hash":"649027e7dfba38bcd3918560c5dcaa5a4ae97c95b137045288365b3bcdda868b","message":"Track GH-855 extension custom-type mutation locator parity"}
{"ts":"2026-08-01T13:28:00.962Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"claim","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T13:28:00.962Z"},{"op":"add","path":"/metadata/assignee","value":"harness:codex"},{"op":"add","path":"/metadata/claim_principal","value":"harness:codex#4c556f24dda4a2eb32a33f4b"}],"before_hash":"649027e7dfba38bcd3918560c5dcaa5a4ae97c95b137045288365b3bcdda868b","after_hash":"e7a296d8aa6ec86c62791910734688ff92e9f7fb3d9132eab2cf85b580c542a0"}
{"ts":"2026-08-01T13:28:01.721Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"update","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T13:28:01.721Z"},{"op":"replace","path":"/metadata/status","value":"in_progress"}],"before_hash":"e7a296d8aa6ec86c62791910734688ff92e9f7fb3d9132eab2cf85b580c542a0","after_hash":"14acfa15db08cd891794590e947a4896eec14355a83641061f64a407630ba997","message":"Start cohesive SDK extension-authoring implementation bundle"}
{"ts":"2026-08-01T14:33:28.501Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"files_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:33:28.501Z"},{"op":"add","path":"/metadata/files","value":[{"path":"src/sdk/lifecycle/close.ts","scope":"project","note":"Installed custom item-type lifecycle locator parity"}]}],"before_hash":"14acfa15db08cd891794590e947a4896eec14355a83641061f64a407630ba997","after_hash":"4cf633945511fb4926617e898b7fb2a87f8468498614cea9c394f678ec1b17d8"}
{"ts":"2026-08-01T14:33:29.309Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"files_add","patch":[{"op":"add","path":"/metadata/files/1","value":{"path":"tests/unit/sdk/sdk-extension-mutation-platform.spec.ts","scope":"project","note":"Installed custom item-type lifecycle locator parity"}},{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:33:29.309Z"}],"before_hash":"4cf633945511fb4926617e898b7fb2a87f8468498614cea9c394f678ec1b17d8","after_hash":"c00a5102ba84b22c1a3427c9e15ef32c7186a686452f6c7b806ced0495e4aff1"}
{"ts":"2026-08-01T14:33:32.203Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"docs_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:33:32.203Z"},{"op":"add","path":"/metadata/docs","value":[{"path":"docs/EXTENSIONS.md","scope":"project","note":"Custom item-type lifecycle parity tracking"}]}],"before_hash":"c00a5102ba84b22c1a3427c9e15ef32c7186a686452f6c7b806ced0495e4aff1","after_hash":"7081accf1d77180b6d3a1fb706ae8ff9b3ac83909dc0b7bc848fa74e6689961a"}
{"ts":"2026-08-01T14:33:34.306Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"tests_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:33:34.306Z"},{"op":"add","path":"/metadata/tests","value":[{"command":"node scripts/run-tests.mjs test -- tests/unit/sdk/sdk-extension-mutation-platform.spec.ts","scope":"project","timeout_seconds":240}]}],"before_hash":"7081accf1d77180b6d3a1fb706ae8ff9b3ac83909dc0b7bc848fa74e6689961a","after_hash":"c6512b3e91dd6ed720d92abc6a1107258d453570ddc1421056b772519691f166"}
{"ts":"2026-08-01T14:34:04.145Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"test_run_track","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:34:04.145Z"},{"op":"add","path":"/metadata/test_runs","value":[{"run_id":"test-all-local-msah1yx5-wxg83g","kind":"test-all","status":"passed","started_at":"2026-08-01T14:33:42.646Z","finished_at":"2026-08-01T14:34:04.135Z","recorded_at":"2026-08-01T14:34:04.135Z","passed":1,"failed":0,"skipped":0,"items":1,"linked_tests":1}]}],"before_hash":"c6512b3e91dd6ed720d92abc6a1107258d453570ddc1421056b772519691f166","after_hash":"1b7064c6ae8e8f86df2ea183379badd1d6c20793605317d8864379000ab21ad4","message":"Track test-all run summary (test-all-local-msah1yx5-wxg83g)"}
{"ts":"2026-08-01T14:37:35.198Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"comment_add","patch":[{"op":"add","path":"/metadata/comments/1","value":{"created_at":"2026-08-01T14:37:35.198Z","author":"harness:codex","text":"Evidence: close lifecycle registry resolution now includes active extension registrations in both duplicate-target lookup and primary target lookup. Installed Run type acceptance covers create, update, comment annotation, atomic transaction update, close, delete, restore, and get from its non-persisted runs folder. Focused linked test passed and the full 6666-test 100/100/100/100 coverage gate passed."}},{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:37:35.198Z"}],"before_hash":"1b7064c6ae8e8f86df2ea183379badd1d6c20793605317d8864379000ab21ad4","after_hash":"e14ca1c37ab98fc465320a68cf370afb8a3942a45a3e7939dd4f0ed47a59a1c5"}
{"ts":"2026-08-01T14:37:35.950Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"learning_add","patch":[{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:37:35.950Z"},{"op":"add","path":"/metadata/learnings","value":[{"created_at":"2026-08-01T14:37:35.950Z","author":"harness:codex","text":"Every lifecycle locator must resolve the same built-in plus persisted plus active-extension type registry; one core-only close lookup was enough to make a package-defined type appear writable but not closable."}]}],"before_hash":"e14ca1c37ab98fc465320a68cf370afb8a3942a45a3e7939dd4f0ed47a59a1c5","after_hash":"55e6ee4a995d9de8644536b7df423bbc12988cbf1af85b354ed2cbae2f75cded"}
{"ts":"2026-08-01T14:39:34.907Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"close","patch":[{"op":"remove","path":"/metadata/assignee"},{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:39:34.907Z"},{"op":"replace","path":"/metadata/status","value":"closed"},{"op":"add","path":"/metadata/closed_at","value":"2026-08-01T14:39:34.889Z"},{"op":"add","path":"/metadata/completed_at","value":"2026-08-01T14:39:34.889Z"},{"op":"add","path":"/metadata/close_reason","value":"Delivered active extension item-type registry parity across close and full installed custom-type lifecycle acceptance."}],"before_hash":"55e6ee4a995d9de8644536b7df423bbc12988cbf1af85b354ed2cbae2f75cded","after_hash":"33c019f7d47481061b284b04eca34bab2a0d8d0f14186f0744f7f2bdb8a811a1"}
{"ts":"2026-08-01T14:39:35.613Z","author":"harness:codex","author_source":"detected","agent_harness":"codex","agent_instance":"4c556f24dda4a2eb32a33f4b","agent_provenance":{"model":null,"effort":null,"role":null,"topic":null},"op":"release","patch":[{"op":"remove","path":"/metadata/claim_principal"},{"op":"replace","path":"/metadata/updated_at","value":"2026-08-01T14:39:35.613Z"}],"before_hash":"33c019f7d47481061b284b04eca34bab2a0d8d0f14186f0744f7f2bdb8a811a1","after_hash":"8f4246132970bb29bf455c5b8f042f368e01f7054fe42c9685b6ad94de2f2797"}
Loading