Everything's an experiment.

Notes on work, tech, and life.

Recent updates:

GitHubpush

Draft OpenSpec change mattpolicastro__nightshift-issue-16-retire-the-worker-engine (specloop propose, round 2)

Pushed 35 commits to mattpolicastro/nightshift • Draft OpenSpec change mattpolicastro__nightshift-issue-16-retire-the-worker-engine (specloop propose, round 1) • Merge pull request #110 from mattpolicastro/fix/readiness-ci-refresh • Merge branch 'main' into fix/readiness-ci-refresh • readiness: reassess a CI-blocked assessment each poll until CI clears • Merge branch 'main' into fix/readiness-ci-refresh • Merge pull request #109 from mattpolicastro/spec/mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa • specloop: archive mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa into openspec/specs • Merge current PR base 82e114d3eff32bdaf215c9a963bd7cd4585c9879 • specloop: complete task 1.5 • specloop: task 1.5 Update only invalidated usage, job-control, status-history and retention passages in README.md, KNOWN-LIMITATIONS.md and docs/specloop/README.md (about 160 changed lines). Explain - • specloop: complete task 1.4 • specloop: task 1.4 Wire jobs compact into nightshift/cli.py with tests/test_jobs_cli.py coverage (about 230 changed lines), dispatching before configuration/credentials and using the unfiltered compac • specloop: complete task 1.3 • specloop: task 1.3 Implement compact_history and any minimal internal outcome reporting in nightshift/specloop_job.py with tests/test_specloop_compaction.py coverage (about 300 changed lines). Reuse c • specloop: complete task 1.2 • specloop: task 1.2 Implement default filtering, --all parsing and receipt-based labels in nightshift/cli.py, with tests/test_jobs_cli.py coverage (about 280 changed lines). Add test_jobs_default_hides • specloop: complete task 1.1 • specloop: task 1.1 Add optional receipt metadata to inventory in nightshift/specloop_job.py and focused tests in tests/test_specloop_jobs.py (about 220 changed lines). Preserve default list_jobs consu • Draft OpenSpec change mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa (specloop propose, round 1) • Merge pull request #109 from mattpolicastro/spec/mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa • specloop: archive mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa into openspec/specs • Merge current PR base 82e114d3eff32bdaf215c9a963bd7cd4585c9879 • specloop: complete task 1.5 • specloop: task 1.5 Update only invalidated usage, job-control, status-history and retention passages in README.md, KNOWN-LIMITATIONS.md and docs/specloop/README.md (about 160 changed lines). Explain - • specloop: complete task 1.4 • specloop: task 1.4 Wire jobs compact into nightshift/cli.py with tests/test_jobs_cli.py coverage (about 230 changed lines), dispatching before configuration/credentials and using the unfiltered compac • specloop: complete task 1.3 • specloop: task 1.3 Implement compact_history and any minimal internal outcome reporting in nightshift/specloop_job.py with tests/test_specloop_compaction.py coverage (about 300 changed lines). Reuse c • specloop: complete task 1.2 • specloop: task 1.2 Implement default filtering, --all parsing and receipt-based labels in nightshift/cli.py, with tests/test_jobs_cli.py coverage (about 280 changed lines). Add test_jobs_default_hides • specloop: complete task 1.1 • specloop: task 1.1 Add optional receipt metadata to inventory in nightshift/specloop_job.py and focused tests in tests/test_specloop_jobs.py (about 220 changed lines). Preserve default list_jobs consu • Draft OpenSpec change mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa (specloop propose, round 1) • specloop: archive mattpolicastro__nightshift-issue-103-nightshift-jobs-show-active-work-by-defa into openspec/specs

View commits
GitHubpr merged

readiness: reassess a CI-blocked assessment each poll until CI clears

Merged PR in mattpolicastro/nightshift: "readiness: reassess a CI-blocked assessment each poll until CI clears"

View pull request
GitHubpr merged

Spec: nightshift jobs: show active work by default; compact delivered history

Merged PR in mattpolicastro/nightshift: "Spec: nightshift jobs: show active work by default; compact delivered history"

View pull request
GitHubpr merged

readiness: front-door PRs take human checks from the publication

Merged PR in mattpolicastro/nightshift: "readiness: front-door PRs take human checks from the publication"

View pull request
GitHubpush

Merge pull request #102 from mattpolicastro/spec/mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent

Pushed 190 commits to mattpolicastro/nightshift • Merge branch 'main' into spec/mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent • specloop: archive mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent into openspec/specs • Merge current PR base 07a446be6f5c5a7e0ecc2f7fa36956debd8369a0 • Merge current PR base e32ed470166103a8e7362edc2737b6cc219e4ba5 • specloop: complete task 1.8 • specloop: task 1.8 Update specloop passages in `README.md`, `docs/specloop/README.md`, `docs/specloop/command-json.md` and `KNOWN-LIMITATIONS.md` to the shipped keyed contract and qualified crash limi • specloop: complete task 1.7 • specloop: task 1.7 Add deterministic real-process recovery coverage in new `tests/test_revision_crash_subprocess.py`, including `test_revise_retry_after_commit_does_not_duplicate_round` (target 240–30 • specloop: complete task 1.6 • specloop: task 1.6 Validate keyed success and render observed-state delivery in `nightshift/specloop_intake.py`; add new `tests/test_revision_replay_delivery.py` (target 180–250 lines). Reject wrong/m • specloop: complete task 1.5 • specloop: task 1.5 Wire saved UUID build-round identities and retry selection in `nightshift/specloop_intake.py` (provenance agreement is checked only at replacement dispatch and replay; see the desig • specloop: scope provenance validation to dispatch and replay decisions (descope tamper-defense after review loop) • specloop: complete task 1.4 • specloop: task 1.4 Extend `nightshift/specloop_job.py` for six-field requests, prelaunch `round_job` provenance, validated coordinated provenance reads/successor persistence, and compactor key retenti • specloop: complete task 1.3 • specloop: task 1.3 Wire optional --round-id and keyed JSON/human output in `specloop/cli.py`, with new `tests/test_revise_round_cli.py` and `tests/revision_result_fixtures.py` (target 250–300 changed • specloop: complete task 1.2 • specloop: task 1.2 Integrate prepared records and replay into `specloop/revise.py`, retaining the string-returning API and adding the structured result entry point; add new `tests/test_revise_idempote • specloop: complete task 1.1 • specloop: task 1.1 Add the durable revision-record helper in `specloop/revision_store.py` and focused tests in new `tests/test_revision_store.py` (target 240–290 changed lines including tests). Implem • Draft OpenSpec change mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent (specloop propose, round 2) • Draft OpenSpec change mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent (specloop propose, round 1) • Merge branch 'main' into spec/mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent • Merge pull request #105 from mattpolicastro/spec/mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that • Merge branch 'main' into spec/mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that • specloop: archive mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that into openspec/specs • Merge current PR base e32ed470166103a8e7362edc2737b6cc219e4ba5 • specloop: complete task 1.8 • specloop: task 1.8 Strengthen the tests so each of these single-line mutations of code added in section 1 makes a test fail; where a mutation genuinely cannot change behaviour, say why in a comment on • specloop: complete task 1.7 • specloop: task 1.7 Add tagged tests covering `merge-readiness/local-evidence-assessment/any-timeout-blocks`, `merge-readiness/local-evidence-assessment/measured-sections-pass`, `merge-readiness/local- • specloop: strengthen section 1 after its evidence check • specloop: complete task 1.6 • specloop: task 1.6 Adapt non-conflicting publication fixture/fake setup and only the authorized assertion groups in `tests/test_specloop_base_publication.py` (original lines 158–159, 302, 315–316), ad • specloop: complete task 1.5 • specloop: task 1.5 Integrate readiness only into `publish_pending`'s already-delivered `human_checks` path, implement head/cache invalidation, and add new `tests/test_merge_readiness_polling.py` (targ • specloop: complete task 1.4 • specloop: task 1.4 Implement separate atomic readiness receipts and label/comment reconciliation in intake, with new `tests/test_merge_readiness_delivery.py` (target at most 300 lines). Exercise the r • specloop: complete task 1.3 • specloop: task 1.3 Implement single-query CI classification and assessment composition in intake, with new `tests/test_merge_readiness_assessment.py` (target 200–250 lines). Test the injected string r • specloop: complete task 1.2 • specloop: task 1.2 Implement checklist/post-deploy detection by the design's line rules (no Markdown, fence or HTML parsing; anything the line rules cannot establish blocks) and read-only pending-revi • specloop: checklist and scenario detection by line rules, not Markdown parsing (descope after four review rounds) • specloop: complete task 1.1 • specloop: task 1.1 Implement local section/evidence classification in `nightshift/specloop_intake.py` and new `tests/test_merge_readiness_evidence.py`, with reusable minimal local-run fixtures in new • Draft OpenSpec change mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that (specloop propose, round 1) • specloop: archive mattpolicastro__nightshift-issue-7-make-revise-rounds-idempotent into openspec/specs • Merge pull request #105 from mattpolicastro/spec/mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that • Merge branch 'main' into spec/mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that • specloop: archive mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that into openspec/specs • Merge current PR base e32ed470166103a8e7362edc2737b6cc219e4ba5 • specloop: complete task 1.8 • specloop: task 1.8 Strengthen the tests so each of these single-line mutations of code added in section 1 makes a test fail; where a mutation genuinely cannot change behaviour, say why in a comment on • specloop: complete task 1.7 • specloop: task 1.7 Add tagged tests covering `merge-readiness/local-evidence-assessment/any-timeout-blocks`, `merge-readiness/local-evidence-assessment/measured-sections-pass`, `merge-readiness/local- • specloop: strengthen section 1 after its evidence check • specloop: complete task 1.6 • specloop: task 1.6 Adapt non-conflicting publication fixture/fake setup and only the authorized assertion groups in `tests/test_specloop_base_publication.py` (original lines 158–159, 302, 315–316), ad • specloop: complete task 1.5 • specloop: task 1.5 Integrate readiness only into `publish_pending`'s already-delivered `human_checks` path, implement head/cache invalidation, and add new `tests/test_merge_readiness_polling.py` (targ • specloop: complete task 1.4 • specloop: task 1.4 Implement separate atomic readiness receipts and label/comment reconciliation in intake, with new `tests/test_merge_readiness_delivery.py` (target at most 300 lines). Exercise the r • specloop: complete task 1.3 • specloop: task 1.3 Implement single-query CI classification and assessment composition in intake, with new `tests/test_merge_readiness_assessment.py` (target 200–250 lines). Test the injected string r • specloop: complete task 1.2 • specloop: task 1.2 Implement checklist/post-deploy detection by the design's line rules (no Markdown, fence or HTML parsing; anything the line rules cannot establish blocks) and read-only pending-revi • specloop: checklist and scenario detection by line rules, not Markdown parsing (descope after four review rounds) • specloop: complete task 1.1 • specloop: task 1.1 Implement local section/evidence classification in `nightshift/specloop_intake.py` and new `tests/test_merge_readiness_evidence.py`, with reusable minimal local-run fixtures in new • Draft OpenSpec change mattpolicastro__nightshift-issue-52-merge-readiness-flag-front-door-prs-that (specloop propose, round 1) • Merge pull request #107 from mattpolicastro/fix/narrowing-test-timeout • tests: give narrowing phase fixtures 3 s, not 0.5 s • Merge pull request #106 from mattpolicastro/fix/drafter-line-rules • propose: specify rich-text structure by line rules, never semantic parsing • Merge pull request #104 from mattpolicastro/fix/arm-owner-qualified • arm: attribute owner-qualified run names to their issue • Merge pull request #100 from mattpolicastro/spec/mattpolicastro__nightshift-issue-47-proposal-json-report-the-real-ref-and-le • specloop: archive mattpolicastro__nightshift-issue-47-proposal-json-report-the-real-ref-and-le into openspec/specs • Merge current PR base aa8cfb89724328b5f8c95d3d50041e2a3ee8f9b9 • specloop: complete task 2.1 • specloop: task 2.1 The base merge brought in #9's job identity rules, and `test_daemon_delivers_a_fallback_ref_proposal` now fails in its background cases with `KeyError: 'delivered'`. Update only the • specloop: add a task adapting the background fixture to #9's job identity (base drift) • Merge current PR base fda70c4ef0a1cb9b8ba120b72c835d374fcf7701 • specloop: complete task 1.2 • specloop: task 1.2 Set successful proposal JSON `branch` from `publish_branch`'s return value in `specloop/cli.py`. Add `test_propose_json_reports_real_ref` in `tests/test_specloop_command_json.py` an • specloop: complete task 1.1 • specloop: task 1.1 Extend `nightshift/specloop_intake.py` proposal-result validation to accept the two exact refs for the recorded change through direct and background completion, preserving commit-pi • Draft OpenSpec change mattpolicastro__nightshift-issue-47-proposal-json-report-the-real-ref-and-le (specloop propose, round 1) • specloop: archive mattpolicastro__nightshift-issue-47-proposal-json-report-the-real-ref-and-le into openspec/specs • Merge current PR base aa8cfb89724328b5f8c95d3d50041e2a3ee8f9b9 • specloop: complete task 2.1 • specloop: task 2.1 The base merge brought in #9's job identity rules, and `test_daemon_delivers_a_fallback_ref_proposal` now fails in its background cases with `KeyError: 'delivered'`. Update only the • Merge pull request #101 from mattpolicastro/fix/draft-base • specloop: add a task adapting the background fixture to #9's job identity (base drift) • Merge current PR base fda70c4ef0a1cb9b8ba120b72c835d374fcf7701 • tests: tolerate EPERM when tearing down an already-reaped process group • specloop: complete task 1.2 • specloop: task 1.2 Set successful proposal JSON `branch` from `publish_branch`'s return value in `specloop/cli.py`. Add `test_propose_json_reports_real_ref` in `tests/test_specloop_command_json.py` an • propose: draft from the newest base, resolved in the source • specloop: complete task 1.1 • specloop: task 1.1 Extend `nightshift/specloop_intake.py` proposal-result validation to accept the two exact refs for the recorded change through direct and background completion, preserving commit-pi • Merge pull request #99 from mattpolicastro/feat/codex-profile-auth • Merge branch 'main' into feat/codex-profile-auth • Merge pull request #98 from mattpolicastro/spec/mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line • specloop: archive mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line into openspec/specs • codex profiles can name their own login (API credits); seal scans every codex login • specloop: complete task 1.8 • specloop: task 1.8 Update affected job passages in `README.md`, `KNOWN-LIMITATIONS.md` and `docs/specloop/README.md`, explicitly including the guide's drafting-round input text around lines 59–64 and • specloop: complete task 1.7 • specloop: task 1.7 Implement `specloop_intake.run_git`, route `_bounded_run` git defaults through it, and substitute the guarded production git runner in `nightshift/daemon.py` without other daemon ch • specloop: complete task 1.6 • specloop: task 1.6 Add `_recover_item_cleanup(path)` and pre-replacement journal preparation in `nightshift/specloop_intake.py`, plus journal resumption through the shared compaction primitive in `nig • specloop: complete task 1.5 • specloop: task 1.5 Integrate the shared delivery completion helper in `nightshift/specloop_intake.py` across proposal, admission, spec revision and build revision (target 250–300 changed lines includi • specloop: complete task 1.4 • specloop: task 1.4 Implement the identity-checked compaction primitive and attempt-local journal in `nightshift/specloop_job.py`, including lock ordering, exact owned-file deletion, idea-argument reda • specloop: complete task 1.3 • specloop: task 1.3 Add active-job status rendering in `nightshift/cli.py` using one read-only inventory call before network queries, with elapsed/deadline/legacy and diagnostic handling (target 150–20 • specloop: complete task 1.2 • specloop: task 1.2 Implement live-job deadline observation and `JobOverdue` in `nightshift/specloop_job.py`, map it to the existing immediate `DeliveryError` reporting path in `nightshift/specloop_int • specloop: complete task 1.1 • specloop: task 1.1 Persist and read durable command timing in `nightshift/specloop_job.py` with the exact five-field schema, fixed per-command budgets, restart stability and legacy/malformed-record ha • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 2) • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 1) • Merge pull request #101 from mattpolicastro/fix/draft-base • tests: tolerate EPERM when tearing down an already-reaped process group • propose: draft from the newest base, resolved in the source • tests: tolerate EPERM when tearing down an already-reaped process group • Merge pull request #99 from mattpolicastro/feat/codex-profile-auth • Merge branch 'main' into feat/codex-profile-auth • codex profiles can name their own login (API credits); seal scans every codex login • Merge branch 'main' into feat/codex-profile-auth • Merge pull request #98 from mattpolicastro/spec/mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line • specloop: archive mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line into openspec/specs • specloop: complete task 1.8 • specloop: task 1.8 Update affected job passages in `README.md`, `KNOWN-LIMITATIONS.md` and `docs/specloop/README.md`, explicitly including the guide's drafting-round input text around lines 59–64 and • specloop: complete task 1.7 • specloop: task 1.7 Implement `specloop_intake.run_git`, route `_bounded_run` git defaults through it, and substitute the guarded production git runner in `nightshift/daemon.py` without other daemon ch • specloop: complete task 1.6 • specloop: task 1.6 Add `_recover_item_cleanup(path)` and pre-replacement journal preparation in `nightshift/specloop_intake.py`, plus journal resumption through the shared compaction primitive in `nig • specloop: complete task 1.5 • specloop: task 1.5 Integrate the shared delivery completion helper in `nightshift/specloop_intake.py` across proposal, admission, spec revision and build revision (target 250–300 changed lines includi • specloop: complete task 1.4 • specloop: task 1.4 Implement the identity-checked compaction primitive and attempt-local journal in `nightshift/specloop_job.py`, including lock ordering, exact owned-file deletion, idea-argument reda • specloop: complete task 1.3 • specloop: task 1.3 Add active-job status rendering in `nightshift/cli.py` using one read-only inventory call before network queries, with elapsed/deadline/legacy and diagnostic handling (target 150–20 • specloop: complete task 1.2 • specloop: task 1.2 Implement live-job deadline observation and `JobOverdue` in `nightshift/specloop_job.py`, map it to the existing immediate `DeliveryError` reporting path in `nightshift/specloop_int • specloop: complete task 1.1 • specloop: task 1.1 Persist and read durable command timing in `nightshift/specloop_job.py` with the exact five-field schema, fixed per-command budgets, restart stability and legacy/malformed-record ha • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 2) • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 1) • Merge pull request #98 from mattpolicastro/spec/mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line • specloop: archive mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line into openspec/specs • specloop: complete task 1.8 • specloop: task 1.8 Update affected job passages in `README.md`, `KNOWN-LIMITATIONS.md` and `docs/specloop/README.md`, explicitly including the guide's drafting-round input text around lines 59–64 and • specloop: complete task 1.7 • specloop: task 1.7 Implement `specloop_intake.run_git`, route `_bounded_run` git defaults through it, and substitute the guarded production git runner in `nightshift/daemon.py` without other daemon ch • specloop: complete task 1.6 • specloop: task 1.6 Add `_recover_item_cleanup(path)` and pre-replacement journal preparation in `nightshift/specloop_intake.py`, plus journal resumption through the shared compaction primitive in `nig • specloop: complete task 1.5 • specloop: task 1.5 Integrate the shared delivery completion helper in `nightshift/specloop_intake.py` across proposal, admission, spec revision and build revision (target 250–300 changed lines includi • specloop: complete task 1.4 • specloop: task 1.4 Implement the identity-checked compaction primitive and attempt-local journal in `nightshift/specloop_job.py`, including lock ordering, exact owned-file deletion, idea-argument reda • specloop: complete task 1.3 • specloop: task 1.3 Add active-job status rendering in `nightshift/cli.py` using one read-only inventory call before network queries, with elapsed/deadline/legacy and diagnostic handling (target 150–20 • specloop: complete task 1.2 • specloop: task 1.2 Implement live-job deadline observation and `JobOverdue` in `nightshift/specloop_job.py`, map it to the existing immediate `DeliveryError` reporting path in `nightshift/specloop_int • specloop: complete task 1.1 • specloop: task 1.1 Persist and read durable command timing in `nightshift/specloop_job.py` with the exact five-field schema, fixed per-command budgets, restart stability and legacy/malformed-record ha • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 2) • Draft OpenSpec change mattpolicastro__nightshift-issue-9-background-jobs-deadlines-a-status-line (specloop propose, round 1) • specloop: complete task 1.8 • specloop: task 1.8 Update affected job passages in `README.md`, `KNOWN-LIMITATIONS.md` and `docs/specloop/README.md`, explicitly including the guide's drafting-round input text around lines 59–64 and • specloop: complete task 1.7 • specloop: task 1.7 Implement `specloop_intake.run_git`, route `_bounded_run` git defaults through it, and substitute the guarded production git runner in `nightshift/daemon.py` without other daemon ch • specloop: complete task 1.6 • specloop: task 1.6 Add `_recover_item_cleanup(path)` and pre-replacement journal preparation in `nightshift/specloop_intake.py`, plus journal resumption through the shared compaction primitive in `nig • specloop: complete task 1.5 • specloop: task 1.5 Integrate the shared delivery completion helper in `nightshift/specloop_intake.py` across proposal, admission, spec revision and build revision (target 250–300 changed lines includi • specloop: complete task 1.4 • specloop: task 1.4 Implement the identity-checked compaction primitive and attempt-local journal in `nightshift/specloop_job.py`, including lock ordering, exact owned-file deletion, idea-argument reda • specloop: complete task 1.3 • specloop: task 1.3 Add active-job status rendering in `nightshift/cli.py` using one read-only inventory call before network queries, with elapsed/deadline/legacy and diagnostic handling (target 150–20 • specloop: complete task 1.2 • specloop: task 1.2 Implement live-job deadline observation and `JobOverdue` in `nightshift/specloop_job.py`, map it to the existing immediate `DeliveryError` reporting path in `nightshift/specloop_int • specloop: complete task 1.1 • specloop: task 1.1 Persist and read durable command timing in `nightshift/specloop_job.py` with the exact five-field schema, fixed per-command budgets, restart stability and legacy/malformed-record ha

View commits
GitHubpr merged

Spec: Make revise rounds idempotent

Merged PR in mattpolicastro/nightshift: "Spec: Make revise rounds idempotent"

View pull request
GitHubpr merged

Spec: Merge readiness: flag front-door PRs that are safe to merge

Merged PR in mattpolicastro/nightshift: "Spec: Merge readiness: flag front-door PRs that are safe to merge"

View pull request
GitHubpr merged

tests: narrowing phase fixtures get 3 s, not 0.5 s (load flake)

Merged PR in mattpolicastro/nightshift: "tests: narrowing phase fixtures get 3 s, not 0.5 s (load flake)"

View pull request
GitHubpr merged

propose: specify rich-text structure by line rules, never semantic parsing

Merged PR in mattpolicastro/nightshift: "propose: specify rich-text structure by line rules, never semantic parsing"

View pull request
GitHubpr merged

arm: attribute owner-qualified run names to their issue

Merged PR in mattpolicastro/nightshift: "arm: attribute owner-qualified run names to their issue"

View pull request
Browse the archive