Commit Graph
56 Commits
Author SHA1 Message Date
mokhtar cc23c97218 milestone 33: contract closure — samples, file-authority enumeration, dead code, bundle ceiling
Gates / frontend (push) Successful in 1m34s
Gates / test (push) Successful in 2m3s
Gates / test-aarch64 (push) Failing after 3h13m33s
Gates / package (push) Successful in 5m20s
Gates / container (push) Successful in 15s
CI / gates (push) Failing after 6h30m45s
2026-08-22 23:31:37 +02:00
mokhtar 5da4652e89 querylog: return to the default checkpoint cadence 2026-08-22 23:10:17 +02:00
mokhtar 7e0df5fd94 milestone 32: task-shaped configuration, file mode as a rendering, config status api
Gates / frontend (push) Successful in 1m22s
Gates / test (push) Successful in 1m54s
Gates / test-aarch64 (push) Successful in 7m57s
Gates / package (push) Successful in 5m29s
Gates / container (push) Successful in 10s
CI / gates (push) Successful in 32m51s
2026-08-22 22:42:50 +02:00
mokhtar 025edbb093 milestone 31: concurrent upstream exchanges, dot session reuse, queue metrics
Gates / frontend (push) Successful in 1m26s
Gates / test (push) Successful in 1m55s
Gates / test-aarch64 (push) Failing after 3h1m8s
Gates / package (push) Successful in 3m55s
Gates / container (push) Successful in 15s
CI / gates (push) Failing after 3h21m29s
2026-08-22 19:54:02 +02:00
mokhtar 648d9b4496 milestone 30: overview as a dashboard, explicit health contract, period aggregations
Gates / frontend (push) Successful in 1m32s
Gates / test (push) Successful in 1m54s
Gates / package (push) Successful in 5m28s
Gates / container (push) Successful in 14s
Gates / test-aarch64 (push) Failing after 3h10m0s
CI / gates (push) Failing after 3h11m55s
2026-08-22 16:45:15 +02:00
mokhtar fa323c7ed4 milestone 29: activity — history, live and policy simulation on one surface
Gates / test (push) Successful in 1m40s
Gates / package (push) Successful in 3m58s
Gates / container (push) Successful in 14s
CI / gates (push) Successful in 12m51s
Gates / frontend (push) Successful in 1m18s
Gates / test-aarch64 (push) Successful in 6m57s
query log, live and lookup merge into /activity. history filters live
in the url, so a pasted link or back/forward reproduces the exact
view; the result column separates servfail and nxdomain from success
in the list. live is follow-by-default with freeze, and a streamed
row opens its in-memory provenance detail — no correlation invented
for rows sqlite has not written. lookup survives as the current
policy simulation under /activity/test. investigation links carry
absolute bounds, and the diagnostics page now honors since/until
instead of ignoring them. the old routes are gone without aliases.
2026-08-22 10:52:56 +02:00
mokhtar 0fd6bbd312 milestone 28: query provenance — every logged query is exactly explainable
Gates / frontend (push) Successful in 1m36s
Gates / test (push) Successful in 1m56s
Gates / test-aarch64 (push) Successful in 7m37s
Gates / package (push) Successful in 9m12s
Gates / container (push) Successful in 13s
CI / gates (push) Successful in 19m4s
query rows gain qclass, rcode, group, policy action and reason, the
matched rule or list entry with its source, cname and safe-search
targets, route kind, forward zone, and the resolver that actually
answered — the pool and local markers die. servfails are logged and
name the resolver that lost; post-parse protocol refusals become rows.
a detail page at /queries/:id renders the ordered explanation, and
coverage watermarks distinguish an empty history from a missing one.

the schema fingerprint changes: existing query history is recreated
with the old file kept aside and the reset filed as a resolved
diagnostic. fixes an oversized udp reply being rebuilt as noerror,
which handed clients a truncated nxdomain as success.
2026-08-22 09:16:40 +02:00
mokhtar 7e6cb507d2 release cut: bump-kind justfile recipe and a compiled, tested cut tool
Gates / frontend (push) Successful in 1m11s
Gates / test (push) Successful in 1m38s
Gates / test-aarch64 (push) Successful in 6m31s
Gates / container (push) Successful in 9s
CI / gates (push) Successful in 26m52s
Gates / package (push) Successful in 5m27s
2026-08-21 23:34:13 +02:00
mokhtar 0107df5f99 spec: measurement window is the deployment side's call
Gates / frontend (push) Successful in 1m13s
Gates / test (push) Successful in 1m37s
Gates / test-aarch64 (push) Successful in 6m35s
Gates / package (push) Successful in 5m40s
Gates / container (push) Successful in 9s
CI / gates (push) Successful in 22m27s
2026-08-21 18:49:05 +02:00
mokhtar 9b0b7c19f4 querylog: checkpoint every 8192 wal pages instead of 1000 2026-08-21 18:43:45 +02:00
mokhtar addf24f92c query log batching: one transaction per flush interval, not per query
Gates / frontend (push) Successful in 1m18s
Gates / test (push) Successful in 2m46s
Gates / test-aarch64 (push) Successful in 7m33s
Gates / package (push) Successful in 5m34s
Gates / container (push) Successful in 17s
CI / gates (push) Successful in 16m16s
Gates / frontend (push) Successful in 1m8s
Gates / container (push) Successful in 9s
Release / gates (push) Successful in 9m15s
Release / guard (push) Successful in 19s
Gates / test (push) Successful in 1m34s
Gates / test-aarch64 (push) Successful in 6m46s
Gates / package (push) Successful in 39s
Release / publish (push) Failing after 4m7s
2026-08-20 20:57:11 +02:00
mokhtar 037f209179 milestone 27: diagnostics — operational failures land in one curated log, resolved history purgeable
Gates / frontend (push) Successful in 1m33s
Gates / test (push) Successful in 1m48s
Gates / test-aarch64 (push) Successful in 7m10s
Gates / package (push) Successful in 5m31s
Gates / container (push) Successful in 15s
CI / gates (push) Successful in 14m51s
2026-08-20 20:05:59 +02:00
mokhtar e0a7cd8a6b milestone 26: upstream health answers for the selected period 2026-08-17 18:21:56 +02:00
mokhtar 794ea6541f admin: live and query log pages show client names 2026-08-16 23:00:31 +02:00
mokhtar 5b3d1cd65c docs: unwrap hand-wrapped prose repo-wide
Gates / frontend (push) Successful in 1m2s
Gates / test (push) Successful in 1m38s
Gates / package (push) Successful in 5m5s
Gates / test-aarch64 (push) Successful in 6m30s
Gates / container (push) Successful in 15s
CI / gates (push) Successful in 13m30s
2026-08-15 16:27:36 +02:00
mokhtar 3c794b645b milestone 25: client names learned over reverse dns
Gates / test (push) Successful in 2m58s
Gates / frontend (push) Successful in 3m57s
Gates / test-aarch64 (push) Successful in 8m20s
Gates / package (push) Successful in 7m27s
Gates / container (push) Successful in 17s
CI / gates (push) Successful in 19m9s
2026-08-15 11:18:44 +02:00
mokhtar 21c5ce1f36 filter: separate the compiled bodies in the checksum, a name moving between them was invisible 2026-08-14 02:09:25 +02:00
mokhtar 1bce81eea0 milestone 24: persist and surface the unsupported-line count 2026-08-13 20:44:27 +02:00
mokhtar 2ab7c1f1de milestone 21: abp list exceptions and a regex rule kind 2026-08-13 19:14:47 +02:00
mokhtar e576704fad spec milestone 23: record the readme and conversion-order findings as closed by decision 2026-08-12 23:45:34 +02:00
mokhtar 4aaf6d3815 milestone 23: close the remaining codex findings
the vitest "something prevents Vite server from exiting" warning was
@stylexjs/unplugin, not our code: configureServer starts a 150ms polling
interval for HMR and clears it from server.httpServer's close event, which
vitest resolves to null in middleware mode. drop that one hook under VITEST
and keep the transform.

textMuted was swept rather than judged. measured against their grounds, the
39 flat text-zinc-500 sites went 4.12:1 -> 7.56:1 in dark mode, repairing a
WCAG AA failure, so that stands; the 4 already-adaptive sites went 7.40:1 ->
4.62:1 in light mode for nothing, so a textSecondary token restores their
original zinc-600/zinc-400 pair.

append the symbol families to the reset's font stack: Select renders U+25BE
and Segoe UI does not carry it.

correct two acceptance criteria that were literally false: both greps match
only comments.
2026-08-12 23:43:22 +02:00
mokhtar 0ea2e2905a milestone 23: restore the focus ring on select options, check layer order, close preflight gaps 2026-08-12 23:27:28 +02:00
mokhtar ac0699faa1 milestone 23: amend two rulings the s2 review found the code in breach of 2026-08-12 22:26:42 +02:00
mokhtar 01e455c8af milestone 23 s2: react aria primitives and their cluster 2026-08-12 22:12:18 +02:00
mokhtar c5e6ab9180 spec milestones 22 and 23: typescript 7, stylex and react aria 2026-08-12 21:30:35 +02:00
mokhtar 79a161e73a spec milestone 21: re-verify anchors against m20, record authority-mode interaction
Gates / test (push) Successful in 1m27s
Gates / test-aarch64 (push) Successful in 5m56s
Gates / frontend (push) Successful in 49s
Gates / package (push) Successful in 3m54s
Gates / container (push) Failing after 2m20s
CI / gates (push) Failing after 14m27s
2026-08-11 23:37:20 +02:00
mokhtar d76afc147a milestone 20: declarative configuration for iac 2026-08-11 23:31:40 +02:00
mokhtar 2f29121e27 spec milestone 21: abp list exceptions and operator regex rules 2026-08-11 19:03:58 +02:00
mokhtar 9aa396a65a spec milestone 20: declarative configuration for iac 2026-08-11 18:49:03 +02:00
mokhtar 929626b1dc milestone 14: verify-a-release walkthrough run against v0.0.1, acceptance closed 2026-08-09 01:35:43 +02:00
mokhtar 3c38e18027 changelog and spec: dry run complete, restore 0.0.1, record deviations 25 and 26 2026-08-08 21:43:36 +02:00
mokhtar d7f63b9f6e release: move publication orchestration into tools/release.zig, pin rotated subkey 2026-08-08 20:22:04 +02:00
mokhtar cdacc560b7 milestone 14: build, package, sign and publish releases 2026-08-08 12:38:29 +02:00
mokhtar 6c507992e4 milestone 19: hygiene sweep - dead ecs surface, single-source constants, tls classification, frontend state hazards, docker smoke network fix
CI / test (push) Successful in 1m46s
CI / test-aarch64 (push) Successful in 5m30s
CI / frontend (push) Successful in 46s
CI / cross (push) Successful in 8m12s
CI / docker (push) Successful in 3m46s
2026-08-07 20:39:27 +02:00
mokhtar 6f67940995 milestone 18: collapse duplicated infrastructure into shared listener core, crud list helper, resource shells, transport race, name and line helpers, ui modules
CI / test (push) Successful in 1m22s
CI / test-aarch64 (push) Successful in 5m6s
CI / frontend (push) Successful in 45s
CI / cross (push) Successful in 7m53s
CI / docker (push) Failing after 1h10m57s
2026-08-07 18:20:30 +02:00
mokhtar c50c6d285a milestone 17: real deadlines, validator holes, upstream editor, trusted proxies, contract samples, badvers
CI / test (push) Successful in 1m22s
CI / test-aarch64 (push) Successful in 4m55s
CI / frontend (push) Successful in 39s
CI / cross (push) Successful in 7m57s
CI / docker (push) Failing after 1h10m42s
2026-08-07 17:55:59 +02:00
mokhtar 25455e5ae2 milestone 16: behavioral fixes for silent failures, locks, counters and the query log
CI / test (push) Failing after 11s
CI / cross (push) Failing after 25s
CI / docker (push) Failing after 24s
CI / test-aarch64 (push) Failing after 2m22s
CI / frontend (push) Successful in 43s
2026-08-07 01:54:40 +02:00
mokhtar 9f8a5cd753 milestone 15: make a green run mean a real pass
CI / test (push) Failing after 1m12s
CI / test-aarch64 (push) Failing after 2m27s
CI / frontend (push) Successful in 1m28s
CI / cross (push) Failing after 27s
CI / docker (push) Failing after 24s
2026-08-07 01:28:13 +02:00
mokhtar f47967ec0d tech debt audit and cleanup specs for milestones 15-19 2026-08-07 00:57:59 +02:00
mokhtar 8c3328562e milestone 13 discrepancies: redact credentials from urls in logs, metrics and cli output 2026-08-07 00:45:17 +02:00
mokhtar 1ff727feb8 milestone 14 spec: build, package and publish releases 2026-08-05 21:40:16 +02:00
mokhtar 16c9de2414 milestone 13: restructure docs to diataxis, tutorial, every command executed 2026-08-02 18:02:58 +02:00
mokhtar d522b1f947 milestone 12: performance bench harness, measured docs, aarch64 tests under qemu and no-dist size assert 2026-08-02 16:08:23 +02:00
mokhtar bdb6ffab7a milestone 11: systemd and docker packaging, operator and architecture docs, config and api reference, docs drift guards 2026-08-02 15:24:10 +02:00
mokhtar a589df7515 milestone 10: doh and dot listeners, cert store with hot reload and cert reload api 2026-08-02 14:39:18 +02:00
mokhtar 617cc966a2 milestone 9: react spa admin ui, frontend ci and embedded dist 2026-08-02 13:04:09 +02:00
mokhtar 5253c47303 milestone 8: web server, rest api, sse, auth, metrics and static assets 2026-08-02 00:54:13 +02:00
mokhtar a8092bb1b9 milestone 7: serving pipeline, client tracking, pause and lifecycle 2026-08-01 21:43:52 +02:00
mokhtar 8c50b6617f milestone 6: dns cache, rate limiting, query logging, disk monitoring and retention 2026-08-01 17:48:12 +02:00
mokhtar 59d94df722 milestone 5: blocklist filtering, local records and conditional forwarding 2026-08-01 16:43:55 +02:00