Skip to content

night report and three collaboration options for the next loop #11062

Closed

Description

@gHashTag

Part of the night-loop epic. The owner asked for a final report and three collaboration options for the next loop; it needs an issue so the work is traceable and the options become tasks.

Goal

A report of the night loop, written from the merged work and the measured numbers only, and three options for collaboration for the next loop, each with what it needs, what it costs, its first measurable step and a default.

Requirements

  • FR-001: docs/analog/night-report-2026-10-19.md MUST list every issue and PR of the night-loop epic with its state, the gates that ran, and the measured numbers, and MUST say plainly what is not done and why.
  • FR-002: The report MUST contain exactly three collaboration options, each as Option A, Option B, Option C, with cost, risk, first measurable step and the party it involves (an external EDA team, volunteer nodes of the network, open-source upstreams), and MUST mark one as the default taken if no one answers.
  • FR-003: The report MUST include a self-critique section: what went wrong in the loop, what was caught late, which anomalies the loop found in its own work, and what changed in the skills and tri because of it.
  • FR-004: The report MUST NOT contain partner names, budgets, machines, tokens or any speed or value claim without a measurement and its command.

Scenarios

  • Given an owner who wakes up and reads only this file, then they know what merged, what is red and why, and which of three options is the default.
  • Given a number without a source, then it is not in the report.

Boundary

  • docs/analog/night-report-2026-10-19.md

Success Criteria

  • git grep -c "^Option [A-C]" docs/analog/night-report-2026-10-19.md prints 3.
  • git grep -n "^## Self-critique" docs/analog/night-report-2026-10-19.md exits 0.
  • git grep -n -i "edmund\|humenberger\|symbiotic" docs/analog/night-report-2026-10-19.md exits non-zero.

Activity

  1. gHashTag commented on Oct 19, 2026

    @gHashTag
    OwnerAuthor

    Draft of the night report (the final version lands as docs/analog/night-report-2026-10-19.md when the lanes still running have finished; the markers @@pending@@ are filled then). Kept here so the draft survives a session restart.

    Night report 2026-10-19: analog emulation, lab, T27 OS

    Issue: #11062, epic #11063 (ledger comment 6268998904 on the epic). English, ASCII only. Every number below is copied from a test, a receipt, a PR or an issue comment named next to it; a number without a source is not here.

    1. What was asked

    The owner's directive for the night: research the weak points of the task and its competitors, decompose, implement, end with a report and three collaboration options for the next loop; run autonomously; one continuous loop that never breaks earlier work; self-critical, find anomalies and repair itself; new tri commands and skills; every task a GitHub issue; coverage to 100 percent; auto-fix on and merge when green.

    2. What merged tonight

    PR issue what measured
    #10893 #10777 PSP103 drain and gate charge tables (tt, ss) 500 fF inverter delays within 0.020 % and 0.0041 % of ngspice (#11071, W3)
    #10953 #10888 M4e-offset: the converter offset is the comparator's clock-edge kickback read through unequal top plates (sar_kick.t27) base +9.42 mV, kickback removed +0.03 mV (PR body)
    #11055 #11020 tri remote: reference jobs on a remote Docker host, command lines built by a spec 16 tests, refusal tests for every shell byte, hand-written Rust +21 -441
    #11056 #11054 the rule "request, do not ask" in CLAUDE.md and the loop skill 2 files
    #11066 #11041 lab L1: the t27c lab's decisions as .t27, lab.py as the oracle 5 specs, 66 tests, 1474 pinned asserts, 59 mutants killed
    #11067 #11043 LAB_GATE as a network job kind run by T27 OS nodes, test-network XP 21 tests, 3 invariants, 335 runtime asserts
    #11069 #11044 one installer built with make, README, TRI CLAW as a component 16 tests, 12 of 12 mutants killed, Makefile +40 -41
    #11071 #11058 the ten analog weaknesses against measured evidence 0 closed, 8 reduced, 2 open
    #11072 #11057 lab competitors, prior art and weaknesses 16 systems, weaknesses W1 to W8, three options
    #11075 #11045 tri seals drift names the claim that moved and reads the ledger in groups see 3
    #11076 #11059 tri loop plan: the tick's anomaly, idempotence and requests-out decisions 25 tests, hand-written Rust +23 -40
    #11079 #11042 lab L2: the t27b lab's decisions as .t27 5 specs, 84 tests, 1392 cases, 46 mutants killed
    #11080 #11068 tri land: land a lane branch with the rules in .t27 26 tests, 29 steps, 18 of 18 planted mutants killed
    #11082 #11074 AX7203 board regression of both analog tops see 3
    #11084 #11083 the home path in the board document 1 line
    #11095 #11060 tri learn: save a lesson into a skill once 21 tests
    #11096 #11061 tri coverage: five facts per spec 18 tests, five specs edited
    #11092 #10942 partial: four ngspice decks for the comparator kick no spec yet, see 6

    @@pending@@ states of #11092, #11095, #11096 and of the lanes still running at the time of writing.

    3. Measured numbers

    • Board regression (PR docs(analog): board regression of the M1b and SAR tops on master -- both receipts reproduced on the AX7203 (Closes #11074) #11082): M1b top 573 of 573 receipt lines PASS, 1196 LUT, 1096 FF, 0 DSP, 0 BRAM, 116.06 MHz post-route (earlier 572 of 572, 1197 LUT, 106.30 MHz; the Verilog changed since fpga(ax7203): ternary mat-vec over real tern-tc-9m weights in DDR3, UART receipt (Closes #10461) #10475), each negative control FAIL on its own circuit only. SAR top 549 of 549 PASS bit-exact (550 lines start with T27, as before), 908 LUT, 538 FF, 0 DSP, 0 BRAM, 108.27 MHz, control FAIL on exactly the 16 predicted conversions. Both tops are behavioural: they do not read the PSP103 tables, so the FPGA size of a PSP103 solver is not measured.
    • Seal drift (PR tri seals drift: name the claims that moved, scan the ledger suite_jobs() specs at a time #11075): the lane measured the scan of 2298 specs at 69.80, 56.44, 107.79 and 92.37 s before and 14.40, 25.05 and 24.51 s after, under load averages of 9 to 44; a forced serial control took 88.69 s. The orchestrator's run on a master tree with both CLI PRs merged: 25.69 s, 0 specs moved; a planted verilog drift printed moved: gen_hash_verilog, a 1-byte edit printed moved: spec_hash, --fix re-saved exactly that one spec.
    • Builds: a t27c release rebuild after merging master with dependencies cached took 47.27 s on an unloaded machine and 176.10 s at load 40; tri took 485.47 s at load 40 and about 19 minutes from a cold target (lane report).
    • Offload: the full aperture scan of the golden comparator (20 transients) ran on the remote Docker host as a container job in about one minute of wall time (container started 18:13, log last written 18:14 on the host clock, load average 0.06 afterwards); on the laptop under load the same deck had finished 4 of 20 in about 45 minutes before it was stopped.
    • Machine: free disk fell from 9.4 GB to 3.6 GB in about 50 minutes; swap used reached 6752 of 7168 MB (3.0 GB an hour earlier). After the heavy runs moved off the laptop: load average 6.5, swap used 5.0 GB, 6.0 GB free.
    • Coverage (PR tri coverage: five coverage facts per spec, the rules in specs/tri/coverage/coverage.t27 #11096): the lane's harness over 29 specs of the five groups gave 140 of 145 facts before and 145 of 145 after its edits and re-saved seals; @@pending@@ the live tri coverage number.

    4. Weak points and competitors

    5. Decomposition

    Epic #11063 with children #11057 to #11062, #11068, #11081, #11083; the lab epic #11040 with #11041 to #11045; the analog epic #10486 with #10942, #10881, #10882, #10911. The ledger comment of the epic holds one row per tick and a status table; the tick is now decided by tri loop plan.

    6. Not done, and why

    7. Self-critique

    8. What changed in skills, tri and memory

    Skills and rules: CLAUDE.md section "Proactivity: request, do not ask", the user skill request-dont-ask, step 6 "Requests out" of the analog loop tick. tri: remote, seals drift, loop plan, land, learn, coverage (and worktrees in #11081). Memory: the night-loop file with the traps found tonight (gh TLS in the sandbox, blocked seals, the issue-shape gate, non-required reds, swap on the shared APFS container).

    9. Three collaboration options for the next loop

    Option A: finish the v0.1 deliverable with the external EDA team. Needs from them: access to their self-checking evaluator and its ADC limits, the ngspice version behind their published RAW, a VACASK that reads current syntax. Cost: small to medium; risk: their answers and their trust (a call was mandatory for them earlier). First measurable step: VACASK, ngspice-47 and our model on the golden comparator's flip point and the DAC top-plate voltages, differences tabulated (#10911). Default taken if nobody answers: this option.

    Option B: the lab as a network job kind. Needs: operators of machines (our own laptop, a CI runner, the remote host if its owner agrees). Cost: medium; risk: determinism across hardware, untrusted code, the legal line (test-network XP only, no value claim). First measurable step: run the closed gate list on one pinned commit on each host class and count the verdict hashes that differ.

    Option C: open-source upstreams. Needs: the maintainers of VACASK, OpenVAF-Reloaded, IHP-Open-PDK and ngspice. Cost: low; risk: the method is public before v0.1. First measurable step: one public, reproducible ngspice-versus-VACASK comparison of the comparator flip point, and a count of maintainer responses within 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions