Skip to content

Tasks: one repository's failure is that repository's

Phase 3 of 3. Small, verifiable tasks; each _Test:_ names a row of testing-plan.md.

Task list

  • [x] 1. The contract: Listing, ScopeFailure, listing(), scope_of()

    • cli/the_loop/poller/base.py; re-exported from poller/__init__.py.
    • Depends on: none
    • Requirements: R1.4
    • Test: T2
  • [x] 2. The GitHub provider lists per repository and quarantines disabled Issues

    • cli/the_loop/poller/github.py: listing, _list_scope, the _issues_off ledger and re-probe, scope_of, list_work_items as the strict form.
    • Security-relevant (A2, A3): issues only are withheld; one exact message classifies.
    • Depends on: 1
    • Requirements: R1.1, R2.1–R2.4
    • Test: T1
  • [x] 3. The core consumes the listing, records per scope, reconciles per scope

    • cli/the_loop/poller/poller.py: _poll_provider, _reconcile_closures(…, degraded), PollSummary fields, the cycle log line; eventlog.py catalogue entries for poll.scope_error, poll.scope_degraded, poll.scope_recovered.
    • Security-relevant (A4): a degraded scope's sessions are never asked about closure.
    • Depends on: 1
    • Requirements: R1.1–R1.3, R2.1, R2.3
    • Test: T2, T5
  • [x] 4. The heartbeat carries the scopes and status renders them

    • cli/the_loop/poller/heartbeat.py (_counters), cli/the_loop/poller/daemon.py (heartbeat_lines).
    • Depends on: 3
    • Requirements: R3.1–R3.4
    • Test: T3
  • [x] 5. The integration scenario

    • cli/tests/test_poller_integration.py: a two-repository gh double through the ticket's sequence.
    • Depends on: 2, 3
    • Requirements: R4.1
    • Test: T4
  • [x] 6. Docs, capability docs, decision, execution log, evidence

    • docs/config/cli/polling-options.md, docs/cli/commands/status.md, docs/cli/state.md, docs/capabilities/cli.md, docs/decisions/decision-106.md (+ index), docs/specs/issue-315/execution-log.md, evidence/.
    • Depends on: 1–5
    • Requirements: all
    • Test: T6, T7 — make check

Released under the MIT License.