Merge pull request #63 from mattpolicastro/chore/drop-prose-annotation
Pushed 60 commits to mattpolicastro/nightshift • Fix main: drop a prose annotation inside a touchpoints docstring • specloop: archive nightshift-issue-21-mutation-testing-skip-cosmetic-literals into openspec/specs • specloop: archive nightshift-issue-50-touchpoint-report-count-human-interventi into openspec/specs • Merge pull request #60 from mattpolicastro/spec/nightshift-issue-58-in-flight-file-map-parse-file-py-functio • specloop: archive nightshift-issue-58-in-flight-file-map-parse-file-py-functio into openspec/specs • specloop: complete task 1.2 • specloop: task 1.2 Extend `paths(text, root=None)` and wire the resolved source root from `in_flight()` in `specloop/propose.py`. In `tests/test_specloop_in_flight_paths.py`, add `test_root_level_file • specloop: complete task 1.1 • specloop: task 1.1 Update `paths()` in `specloop/propose.py` to normalize single-colon identifier suffixes while preserving existing double-colon, punctuation, prefix-exclusion, wildcard, and deduplic • Draft OpenSpec change nightshift-issue-58-in-flight-file-map-parse-file-py-functio (specloop propose, round 1) • specloop: complete task 1.2 • specloop: task 1.2 Extend `paths(text, root=None)` and wire the resolved source root from `in_flight()` in `specloop/propose.py`. In `tests/test_specloop_in_flight_paths.py`, add `test_root_level_file • specloop: complete task 1.1 • specloop: task 1.1 Update `paths()` in `specloop/propose.py` to normalize single-colon identifier suffixes while preserving existing double-colon, punctuation, prefix-exclusion, wildcard, and deduplic • Merge pull request #42 from mattpolicastro/spec/nightshift-issue-5-check-who-applied-a-front-door-label • specloop: archive nightshift-issue-5-check-who-applied-a-front-door-label into openspec/specs • specloop: complete task 3.2 • specloop: task 3.2 Gate `revise_pending` before feedback/status reads, dispatch, and recovery delivery. Extend the two required tests across spec/build revision, including unauthorized empty feedback, • specloop: complete task 3.1 • specloop: task 3.1 Gate `admit_pending` before `_approval_covers_head`, preserving integer event IDs and existing admission recovery. Extend the two required tests with admission cases, and add stale- • specloop: complete task 2.3 • specloop: task 2.3 Gate proposal receipt and open-PR recovery delivery without introducing blocker lookups on recovery paths. Add tests in the new recovery file for legacy receipts, an unauthorized re • specloop: complete task 2.2 • specloop: task 2.2 Gate initial and rearmed drafting in `propose_pending` after blocker checks and before receipt creation or dispatch. Add the draft/ready-alias cases of `test_label_from_non_collabor • specloop: merge current main into the run (manual, ahead of #46): brings in #8's background-test rewrite • specloop: complete task 2.1 • specloop: task 2.1 Implement `_authorize_label_events` and `_comment_label_rejection` in `nightshift/specloop_intake.py`, preserving labels and using event-scoped markers without repeat PATCH requests • specloop: complete task 1.2 • specloop: task 1.2 Implement `_label_actor_association` and membership HTTP-status parsing in `nightshift/specloop_intake.py`; add real-trust tests in the new authorization test file for personal owne • specloop: complete task 1.1 • specloop: task 1.1 After #12, extract `_latest_label_events` in `nightshift/specloop_intake.py`, retaining ID-only `_label_events` and `_approval_event` interfaces. Add pagination, reapplication, unla • Draft OpenSpec change nightshift-issue-5-check-who-applied-a-front-door-label (specloop propose, round 1) • Draft OpenSpec change nightshift-issue-5-check-who-applied-a-front-door-label (specloop propose, round 1) • Merge pull request #44 from mattpolicastro/spec/nightshift-issue-31-evidence-track-mutant-timeouts-separatel • specloop: archive nightshift-issue-31-evidence-track-mutant-timeouts-separatel into openspec/specs • specloop: complete task 1.3 • specloop: task 1.3 Add only the integer `timeouts` argument at the existing evidence-event call in `specloop/loop.py:section_evidence`. Add new event and reviewer-context tests in `tests/test_specloop • specloop: complete task 1.2 • specloop: task 1.2 In `specloop/evidence.py`, align the summary's caught fraction with the existing score filter, add the exact nonzero timeout-count line, and correct unmeasured wording while preserv • specloop: complete task 1.1 • specloop: task 1.1 In `specloop/evidence.py`, retain the first non-passing receipt in `_mutate_one`, apply invalid-step precedence, and return/document `timeout` for selected test receipts with null e • Draft OpenSpec change nightshift-issue-31-evidence-track-mutant-timeouts-separatel (specloop propose, round 1) • specloop: archive nightshift-issue-31-evidence-track-mutant-timeouts-separatel into openspec/specs • specloop: complete task 1.3 • specloop: task 1.3 Add only the integer `timeouts` argument at the existing evidence-event call in `specloop/loop.py:section_evidence`. Add new event and reviewer-context tests in `tests/test_specloop • specloop: complete task 1.2 • specloop: task 1.2 In `specloop/evidence.py`, align the summary's caught fraction with the existing score filter, add the exact nonzero timeout-count line, and correct unmeasured wording while preserv • specloop: complete task 1.1 • specloop: task 1.1 In `specloop/evidence.py`, retain the first non-passing receipt in `_mutate_one`, apply invalid-step precedence, and return/document `timeout` for selected test receipts with null e • specloop: complete task 3.1 • specloop: task 3.1 Style Details, Finished and Refresh in `plugins/nightshift/client/factory.tsx`, retaining the tested disclosure spacing, tree relationships and text, and using a decorative non-text • specloop: complete task 2.2 • specloop: task 2.2 In `plugins/nightshift/client/factory.tsx`, place all currently available navigation items in one secondary wrapping row apart from actions and confirmations, preserving Details gat • specloop: complete task 2.1 • specloop: task 2.1 In `plugins/nightshift/client/factory.tsx`, style the nested status chip and muted progress while retaining the exact combined Text content and direct-child change title. Add `statu • specloop: complete task 1.2 • specloop: task 1.2 Reuse the landed button styles for Confirm and Cancel in `plugins/nightshift/client/factory.tsx`. Add rendered confirmation tests in `plugins/nightshift/tests/factory-style.test.ts` • specloop: complete task 1.1 • specloop: task 1.1 In `plugins/nightshift/client/factory.tsx`, add local token-based action styles, minimum 44-by-44 targets, and wrapping, selecting roles from the unchanged `factoryButtons` order wi
View commits