kiapanahi / kiapanahi/KuriousLabs.WindowsTilingWindowManager
Implement the causation-ID event log and debug record/replay commands
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Problem / goal
Implement the causation-ID event log and the `bastion debug record`/`replay` commands that turn a field bug report into a deterministic, permanent regression test.
## References
- `DESIGN.md` §3.4 (Event log with causation IDs paragraph, in full) — a bounded in-memory ring of intent/decision/effect/`ActualRectObserved` entries, each effect carrying its causation intent's ID; `bastion debug record` persists the ring + subsequent traffic to a trace file with PII/redaction (window titles/exe paths hashed unless `--include-titles`); `bastion debug replay` replays deterministically through the pure core against the fake adapter.
- `docs/engineering/testing.md` §5 (Tier 2) — this is the mechanism that turns a field bug trace into a permanent regression test; "every field trace becomes a permanent regression test" is Tier 2's main regression-coverage strategy per DESIGN.md §11.
## Acceptance criteria
- [ ] A bounded in-memory ring buffer records every intent, reconciliation decision, and issued effect, each tagged with a causation ID linking an effect back to the intent that produced it.
- [ ] `bastion debug record` persists the ring plus subsequent live traffic to a trace file, with window titles and exe paths hashed by default (`--include-titles` opts out).
- [ ] `bastion debug replay` deterministically replays a trace file through the real ingest->coalesce->reconcile pipeline against the Tier 2 fake adapter (`docs/engineering/testing.md` §5), not against real HWNDs.
- [ ] At least one recorded trace is checked into the test project as a regression test, demonstrating the record->replay->assert loop end-to-end.
Contributor guide
Research direction
Start with DESIGN.md §3.4 for the event-log and record/replay requirements, then read docs/engineering/testing.md §5 for the Tier 2 fake-adapter flow. Identify the existing ingest, coalesce, reconcile, and test entry points before implementing the ring, trace persistence, redaction, and replay behavior. Done means an end-to-end recorded trace is checked into the test project and passes as a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, devtools, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100