Xavier Karma xavierk
xavierk pushed to main at xavierk/Fenris 2026-09-01 18:25:56 +00:00
a2f7b6232b feat(tui): Panes TUI on Textual (issue #28)
xavierk commented on issue xavierk/Fenris#28 2026-09-01 18:24:58 +00:00
Build the Panes TUI

Implemented in a2f7b62. Panes TUI on Textual with four normative regions, keybindings p/r/c/d/q, terminal-attached subprocess for privileged actions, disclosures view, empty-store greeting,…

xavierk pushed to main at xavierk/Fenris 2026-09-01 18:19:28 +00:00
7f006c7df7 feat(status): read-only CLI status command (issue #27)
b99ebfe9dd fix(projection): regime dynamics, warming gate, habit change detection, horizon coverage
Compare 2 commits »
xavierk commented on issue xavierk/Fenris#27 2026-09-01 18:18:39 +00:00
Render fenris status as the read-only CLI twin

Files changed

  • src/fenris/status.py — new module (550+ lines): read-only CLI status composition
  • tests/test_status.py — 43 new tests covering all acceptance criteria
  • fenris.py —…
xavierk commented on issue xavierk/Fenris#27 2026-09-01 18:18:34 +00:00
Render fenris status as the read-only CLI twin

Resolved in this session.

Implementation

Created — the read-only CLI twin of the TUI (§8.8, LC-9, CI-2).

What was built

  1. Freshness grading (§8.9, LC-10): shared constants —…
xavierk closed issue xavierk/Fenris#27 2026-09-01 18:18:34 +00:00
Render fenris status as the read-only CLI twin
xavierk closed issue xavierk/Fenris#26 2026-09-01 18:02:08 +00:00
Project from the sustained regime: habit change, scenario range, and evidence gates
xavierk commented on issue xavierk/Fenris#26 2026-09-01 18:02:05 +00:00
Project from the sustained regime: habit change, scenario range, and evidence gates

Resolved in commit b99ebfe.

Changes

Bug fixes in

  1. Warming gate (PR-6): Fixed to check instead of just . The old check was too strict — it required 14 days with ≥50% coverage,…
xavierk closed issue xavierk/Fenris#25 2026-09-01 17:46:38 +00:00
Compute the projection core: baseline precedence, provenance, and the confidence rule table
xavierk pushed to main at xavierk/Fenris 2026-09-01 17:46:38 +00:00
7802a72606 feat: implement projection core pure function (closes #25)
xavierk commented on issue xavierk/Fenris#25 2026-09-01 17:45:06 +00:00
Compute the projection core: baseline precedence, provenance, and the confidence rule table

Implemented: projection core pure function\n\n### What was built\n — the read-path core as a pure function per spec §6.\n\nEntry point: \n\nRecomputes the complete projection contract on…

xavierk pushed to main at xavierk/Fenris 2026-09-01 17:39:09 +00:00
d005412c0d feat: implement legacy history migration (closes #24)
xavierk closed issue xavierk/Fenris#24 2026-09-01 17:37:59 +00:00
Migrate the legacy observation history
xavierk commented on issue xavierk/Fenris#24 2026-09-01 17:37:56 +00:00
Migrate the legacy observation history

Implementation Complete\n\nImplemented the legacy history migration per spec §3.5 and ADR 0001 §6.\n\n### Changes\n\nNew files:\n- — Idempotent, interruption-safe legacy history.jsonl…

xavierk pushed to main at xavierk/Fenris 2026-09-01 17:34:26 +00:00
6a1841c447 feat: segment observation history by controller identity (closes #23)
xavierk closed issue xavierk/Fenris#23 2026-09-01 17:33:55 +00:00
Segment observation history by controller identity
xavierk commented on issue xavierk/Fenris#23 2026-09-01 17:33:53 +00:00
Segment observation history by controller identity

Implemented. All five acceptance criteria covered by 23 tests in test_segmentation.py. See commit 6a1841c.

xavierk pushed to main at xavierk/Fenris 2026-09-01 17:29:35 +00:00
7d219c4697 feat(hour/day derivation): hour classification, monitoring periods, day aggregates, pruning
xavierk closed issue xavierk/Fenris#22 2026-09-01 17:29:35 +00:00
Derive hour observations, day aggregates, and monitoring periods
xavierk pushed to main at xavierk/Fenris 2026-09-01 17:03:41 +00:00
2217b00ff6 feat: collector tracer bullet (#21)\n\nSmartctl acquisition with validation\nSysfs controller identity acquisition\nIdentity normalization (strip, no case fold, blank handling)\nSQLite store in WAL mode with six entities\nSchema versioning via PRAGMA user_version\nInvariant validation (negative bytes, etc.)\n17 passing tests across two test files\n\nCloses #21