Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: backlog triage delivery — admiralty-decision docs, sidecar cleanup, incremental mypy sensor#124

Merged
harrymunro merged 3 commits into
mainfrom
chore/backlog-triage-delivery
Jun 4, 2026
Merged

chore: backlog triage delivery — admiralty-decision docs, sidecar cleanup, incremental mypy sensor#124
harrymunro merged 3 commits into
mainfrom
chore/backlog-triage-delivery

Conversation

@harrymunro

Copy link
Copy Markdown
Collaborator

Summary

Delivers three triaged-and-approved backlog beads. Each was verified against the current code, implemented minimally (anti-bloat), adversarially reviewed (0 critical/high/medium findings), and run through the repo sensors.

Bead Commit Change
nelson-bws 8386c19 Document the admiralty-decision subcommand in structured-data.md (incl. the required --recorded-by provenance arg) and fix the stale admiralty_action_completed event-table row (task_id, resolution → the real emitted fields). Docs-only.
nelson-a06 eb35030 cmd_stand_down now unlinks the .nelson/.active-<session_id> recovery sidecar (idempotent, mirrors the adjacent admiral-marker cleanup), so stale markers no longer accumulate. +2 regression tests. The _find_active_mission "symlink files" docstring was already fixed in an earlier change.
nelson-8q8 c60053a Wire mypy as a check-only pre-commit sensor, rolled out per-module via an allow-list rather than repo-wide. First strict-clean module: nelson_circuit_breakers.

Why mypy is scoped, not repo-wide

A full lenient mypy run currently surfaces ~99 errors across 6 modules (root cause: _read_json returns dict | list and callers treat it as dict). A repo-wide hook — even lenient — would block every commit and derail agents, the exact failure the bead warns about. So the base [tool.mypy] config is lenient, strict is enabled per-module via overrides + the pre-commit files: allow-list, and the rollout (next: nelson_data_utils, 18 errors; end state strict = true repo-wide) is tracked in nelson-8q8 (kept open).

Triage context

This branch is the delivery half of a backlog grooming pass over 9 open beads. Also closed (no code, decision-only): nelson-6bw (already done), nelson-7rm + nelson-q96 (Tier 2/3 sensors — over-engineering for a skill repo), nelson-h4g (Pi harness — not pursued). Kept as backlog: nelson-e6j, nelson-y2l, and nelson-8q8 (rollout tracker).

Test plan

  • pytest skills/nelson/scripts/ — 384 passed (incl. 2 new sidecar tests; confirmed RED before fix)
  • pytest hooks/ — 64 passed
  • pytest scripts/ — 21 passed
  • ruff check + ruff format --check — clean
  • markdownlint-cli2 on the changed doc — 0 errors
  • pre-commit run --files <changed> — all hooks pass
  • mypy hook passes strict on nelson_circuit_breakers and skips all other files

Wire mypy as a check-only pre-commit sensor, rolled out per-module via an
allow-list rather than repo-wide: a full lenient run currently surfaces
~99 errors across 6 modules (root cause: _read_json returns dict | list
and callers treat it as dict), so a repo-wide hook would block every
commit and derail agents.

Base [tool.mypy] config is lenient; strict is enabled per-module through
the overrides block + the pre-commit files: allow-list. First migrated
module is nelson_circuit_breakers (strict-clean). Remaining modules and
end-state (strict = true repo-wide) tracked in nelson-8q8.

Refs nelson-8q8.
The admiralty-decision subcommand was undocumented, and the
admiralty_action_completed event-table row listed 'task_id, resolution',
which never matched the real fields. Document the subcommand (incl. the
required --recorded-by provenance arg) and correct the event row to the
actual emitted data: task_id, decision_type, recorded_by,
session_marker_present (+ optional task_type, ship_class, notes).

Closes nelson-bws.
cmd_stand_down wrote stand-down.json but never unlinked the
.nelson/.active-<session_id> recovery sidecar created by _do_init, so
stale markers accumulated in .nelson/ across missions. Add a best-effort,
idempotent unlink mirroring the adjacent admiral-session-marker cleanup.
Covered by two regression tests (removal + missing-sidecar tolerance).

The _find_active_mission docstring's stale 'symlink files' wording was
already corrected in an earlier change.

Closes nelson-a06.
@harrymunro harrymunro merged commit be54ded into main Jun 4, 2026
11 checks passed
@harrymunro harrymunro deleted the chore/backlog-triage-delivery branch June 4, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant