2.3 KiB
2.3 KiB
Iteration 7 — log-watcher proof workload
Format: fiberloom
product/story-iteration-template. Part of Story — one language, one runtime, one database, one binary.
Goals
- The language's driving workload runs for real: the Haxe log-watcher
daemon (~1,200 lines) re-expressed file-for-file in
.woatdocs/examples/log-watcher/, compiled bywoc, detecting a silent death on a live file. - The README mapping table's "could not express" column is empty — the systems track's acceptance bar: nothing in a real daemon exceeded the language.
Acceptance Criteria
- What to achieve?
- Given the eight-file
.woport (logtail, watcher, cron, probes, supervisor, mcp, tools, main), - when
woccompiles the sample and the ported fixture groups run, - then compilation is clean and every fixture mirrors its named Haxe test case with matching behavior.
- Given the eight-file
- What to achieve?
- Given the built sample running
watchagainst a growing tempfile, - when the feed ends with an error line and the quiet period elapses,
- then exactly one detection line appends to the JSONL sink — the original's measured behavior, reproduced.
- Given the built sample running
- What to achieve?
- Given the README mapping table,
- when the iteration closes,
- then every row names its
.hxsibling and deliberate divergences, and the could-not-express column is empty.
Out Of Scope
- The sqlite-backed minilog tools — expressible when iteration 9's SQL lands; recorded as scoped-out, not inexpressible.
- New language or stdlib features: a gap found here is a defect report against iterations 5/6, and this iteration stops until it's resolved.
Info
- The
.wofiles may be authored docs-first ahead of this iteration (spec2026-08-07-logwatcher-sample-and-principles-design.md); this iteration is where they must actually compile and run. - The pure-core discipline (tail state machine, cron math, MCP
handlesocket-free and clock-injected) is preserved — the original's best design decision.
Proposed Solution
- Execute the existing plan:
docs/superpowers/plans/2026-08-01-log-watcher-sample.md(five tasks: tail state machine, cron, probes+supervisor, MCP subset, main + README + live acceptance scenario in theoop-acceptgate).