A page from 28 Sep 2026. This dashboard shows the project as it was then, with M1 done. M2 to M5 have been built and tagged since (M5, the .deb package, on 2026-10-09); M6 and M7 are not built. Where things stand now: MILESTONES.md.

SmartConfig · progress as of 28 Sep 2026

Milestone 1 is finished and tagged

The first piece of the config-file safety net works: one static binary, sc, that saves versions of a file, shows what changed, and puts a version back with its mode and owner. Its code was written in seven minutes just after midnight on 27 September. That evening and night, four rounds of review by independent AI agents (Claude subagents) took it apart, and five rounds of fixes hardened it.

Tag m1 on GitHub 63 tests pass as root Acceptance run passed as root Backups made; fstab and hosts match their originals M2 plan waiting for your approval
Tests6320 when M1 was first accepted
Lines of Go1,408 + 1,983 test875 + 588 test at first acceptance
Review findings5453 confirmed by two skeptics; 48 addressed in M1 (43 by code or test changes, 5 written down as known limits); 6 deferred
Commits59first line to tag and backups, 25 h 40 min
Roadmap

Seven milestones, one done

    How it was built

    Built in seven minutes, then hardened for almost five hours

    The code for M1 went in between 00:04 and 00:11. In the evening, M2 research found two weak spots, and four review rounds followed. Most of the growth after that is tests: almost every code fix came with a new test, most of them shown to fail on the old code.

    Lines of Go, per commit

    27 Sep 00:04 to 28 Sep 01:44 UTC · hover for each commit
    Code Tests Code-changing phases
    Show the data as a table
    How it was checked

    Four review rounds, 54 findings, none rated high by the skeptics

    Each round: reviewer agents ran the real code and tried to break it; two skeptic agents per finding tried to prove the reviewer wrong. A finding is confirmed when both skeptics agree it is real: 53 of the 54 were, and one was a split vote. No skeptic rated any finding high (one reviewer rated the symlinked-parent-directory finding high; it is deferred to M2). Rounds 3 and 4 found no data loss on this VM; round 3 found one narrow case on filesystems with coarse timestamps (vfat, ext4 with 128-byte inodes), left as a known limit.

    Findings per review round, by the skeptics' severity

    severity: the lower of the two skeptics' ratings
    Medium Low Split vote
    Show the data as a table
    What exists today

    What sc does, and what makes it safe

    Commands

    sc initCreate the private store ($SC_HOME, default /var/lib/smartconfig)
    sc snapshot <path>Save a file's content, mode and owner, with an optional reason (-m); an unchanged file is not saved twice
    sc log [path]List the saved versions, newest first (50 by default; -n 0 for all)
    sc cat <id>Print a saved version; in a secret file, its secret values as <hidden>
    sc diff <id> [id2]Show what changed against the file on disk, or between two versions
    sc restore <id>Put a version back with its mode (including setuid, setgid and sticky) and owner; the current state is saved first

    Guarantees, checked by the tests and the release check

    • A restore can be undone: the file's current content, mode and owner are saved and committed before it is replaced (limits in MILESTONES.md)
    • The new version is written and fsynced to a temp file first, then renamed over the file in one step; the file is never written in place
    • A file swapped for a symlink or FIFO is refused, never followed or blocked on (symlinked parent directories are left to M2)
    • A corrupted saved copy is detected and never restored
    • Ctrl-C stops at a safe point and says whether the file changed
    • One static binary with no shared libraries (release check with file and ldd, not a test), so a broken libc or loader cannot stop it

    The 63 tests, by what they protect

    hover a bar for example test names
    Show the data as a table
    Research and plans

    M2, the watcher, is researched and planned

    What the watcher must watch (research on this VM)

    91files and folders to watch, in 4 tiers
    31patterns to ignore
    15special cases (secrets, generated files)
    23 + 9design rules, plus 9 the critic added
    467items surveyed by 6 research agents
    8key claims re-tested (2 held, 6 partly)

    Read the watch list

    The M2 plan and the roadmap

    17build steps, one commit each
    5reviewed chunks
    14questions for you in the plan
    13questions in the roadmap
    ~1,145files under /etc it will cover here
    24 hsoak test before M2 counts as done

    Read the M2 plan · Read the roadmap

    Everything written down

    Docs and pages, all on GitHub

    DocumentWhat it is
    State of the VM

    Safe to start breaking things

    Waiting for you

    Three things before M2 starts

    1. 1Take the VirtualBox snapshot m1-frozen: in VirtualBox Manager select the VM, open the Snapshots tab above the right-hand panel, click Take.
    2. 2Approve or change the M2 plan and answer its 14 questions (section 16).
    3. 3Answer the 13 roadmap questions (NEXT_STEPS). "Yes to all recommendations" covers 2 and 3.