Skip to content
Open
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
32 changes: 32 additions & 0 deletions .agents/pm/features/pm-github-6srd.toon
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
id: pm-github-6srd
title: Select GitHub issue imports and cap list volume
description: Fetch explicitly selected issue numbers through individual REST endpoints; validate conflicts and missing issues before writes; bound newest-updated list imports with truncation receipts.
type: Feature
status: in_progress
priority: 1
tags: []
created_at: "2026-10-12T13:25:14.333Z"
updated_at: "2026-10-12T13:57:05.635Z"
author: codex-sol
comments[7]{created_at,author,text}:
"2026-10-12T13:25:56.037Z",codex-sol,"Plan: use individual REST issue endpoints for explicit selection, validate all numbers before tracker mutation, preserve the shared comment/dependency/atomic/gate pipeline and provenance idempotency. List limits request newest-updated order and stop after one extra eligible issue establishes truncation. Add recorded public fleet REST fixtures and real scratch-tracker regressions. Keep PR #115 blocker code outside this diff."
"2026-10-12T13:34:57.011Z",codex-sol,"Implemented selection prefetch and missing-number/PR refusal before writes, conflict validation, and bounded newest-updated list fetches with limit/truncated receipts. Recorded public REST fixtures cover pm-web #189/#96/PR #175 and pm-slack-standup #113. Initial focused run passed 23/26; fixture assertions needed existing body trimming and native-comment reads, and CLI acceptance now installs a packed archive because directory installs hit the SDK source-scan ceiling. Type checking, documentation, lint, zero-duplication and privacy gates pass."
"2026-10-12T13:37:55.946Z",codex-sol,"Live manual acceptance passed using the packed candidate in a scratch pm project: pm github import unbraind/pm-web --issue 189 --dry-run --json reported wouldImport=1, wouldUpdate=0, wouldSkip=0 and left tracker count=0. pm github import unbraind/pm-web --issue 189 --json reported imported=1, updated=0, skipped=0; the tracker contained exactly one item with gh:unbraind/pm-web#189. Both used the real public GitHub endpoint. Corrected focused acceptance passed 3/3, including comments and packed CLI dispatch."
"2026-10-12T13:43:05.407Z",codex-sol,"Behavioral revert proof passed in disposable copies of the candidate with unchanged regression tests and fixtures: restoring only runImport from the base revision made the one-recorded-issue regression fail 0/1 with AssertionError (2 imports instead of 1). Restoring only buildIssuesUrl and fetchAllIssues made the bounded-probe regression fail 0/1 with AssertionError (3 retained issues instead of 2). Candidate source bytes stayed unchanged. These tests import TypeScript source, so no dist rebuild was needed for the revert experiments."
"2026-10-12T13:47:07.209Z",codex-sol,"Isolated-Git-identity npm run release:check passed: 546/546 tests, zero failures/cancellations/skips/todo; 12 authored modules with exact 100/100/100/100 coverage (8597/8597 lines and statements, 211/211 functions, 2315/2315 branches). Type checks, build, docstrings, lint, zero duplication, privacy, production audit (0 vulnerabilities), pack dry-run, changelog and publish-attestation checks all passed. The Bun release chain is running. PM-linked execution reached 25 passing cases before its default 120-second timeout during the final acceptance; rerunning with --timeout 300. Tracker test-result persistence is disabled by existing project policy, so comments retain receipts."
"2026-10-12T13:49:47.304Z",codex-sol,"PM-linked acceptance passed with pm test pm-github-6srd --run --progress --timeout 300: 1/1 linked commands and 26/26 regression cases, zero failures/cancellations/skips/todo, elapsed 188 seconds. Increased the linked command budget to 300 seconds for repeatability on the shared runner. The earlier default-budget timeout is retained as a timeout receipt, not a passing result."
"2026-10-12T13:57:04.892Z",codex-sol,"Final isolated-Git-identity bun run release:check passed: 546/546 tests, zero failures/cancellations/skips/todo; 12 authored modules with exact 100/100/100/100 coverage (8597/8597 lines and statements, 211/211 functions, 2315/2315 branches), unchanged thresholds and inventories. All release-chain checks passed, including zero production vulnerabilities, packing, changelog and publish attestation. Bun orchestrates the release chain; its coverage runner invokes Node. Implementation, docs, tests and fixture hashes match the source validated by the npm gate. Manual public selection, both assertion-based revert proofs, and PM-linked 26/26 acceptance are complete. No blocker code changed. Claims will be released; the item remains in progress for PR review."
files[7]{path,scope}:
index.ts,project
test/fixtures/import-selection/pm-slack-standup-113.json,project
test/fixtures/import-selection/pm-web-175-comments.json,project
test/fixtures/import-selection/pm-web-175.json,project
test/fixtures/import-selection/pm-web-189.json,project
test/fixtures/import-selection/pm-web-96.json,project
test/import-selection.test.ts,project
tests[1]{command,scope,timeout_seconds,provenance{author,created_at,source_kind,source_ref}}:
npm run build && node --test test/import-selection.test.ts,project,300,codex-sol,"2026-10-12T13:50:17.312Z",local_mutation,feat/import-issue-selection
docs[2]{path,scope}:
README.md,project
test/fixtures/import-selection/README.md,project
body: ""
Loading
Loading