Why this file exists. The operator asked whether the committee actually measured live state or took shortcuts. The honest answer is that it did some of both, and this register is the accounting: every UNMEASURED item the seven lenses declared, plus what a follow-up sweep closed, plus what remains genuinely open and why.
The founding principle it enforces, from the skill: "could not look" is never "nothing there" -- and its corollary, which this audit had to learn the hard way: a declared UNMEASURED is only honest if it was genuinely unmeasurable. Declaring an item unmeasurable that another lens measured in the same session is not scope discipline, it is a gap.
Two distinct failures, and they belong to different actors.
(a) The apex was never polled, by anyone. Lens 2's brief was as-built-vs-live, and NetBox is the IPAM apex per the skill's own routing table. It measured MAAS and the nodes and declared the apex out of scope. It did so HONESTLY -- its UNMEASURED item 5 reads: "IPv6 state at the NetBox apex ... I measured MAAS and the nodes only. D-101's literals may exist in NetBox and simply not be carved into MAAS -- L2-3's claim is scoped to MAAS + node reality and does not assert the apex is empty." That is the contract working: no overclaim. But the apex is a key system and it had permission and time to reach it. Under-scoped, not dishonest.
(b) The synthesis then used a two-day-old dump instead of polling live -- and that was mine, not an agent's. On being asked, I read netbox/draft/vr1-office1-current-20260725.json and treated it as apex state. Worse, I had already put a question to the operator (R2a, "which literals") built on D-101's stale "Remaining open item" prose, WITHOUT acting on lens 2's explicit warning that the literals might already exist. Trusting stale decision prose over an available measurement is exactly the failure this audit was convened to find.
The sharpest single instance of the general problem: lens 6 declared juju restore-backup unverifiable because "no Juju client exists on this host" -- while juju 3.6.27 was installed on voffice1 and lens 5 ran juju help against it successfully in the same session. One lens called impossible what another was measuring. That is not a permissions limit; that is a lens not looking.
| # | Item | Lens that deferred it | Measured result |
|---|---|---|---|
| U1 | NetBox apex, LIVE | L2 (#5) | netbox/office1-record-dump.py run against the live apex: 139 prefixes, 103 IPv6, zero added / zero removed vs the 07-25 dump. The dump was accurate -- but that was luck of timing, not method. dc1's key prefixes all PRESENT: fd50:840e:74e2:320::/64, :330::/64, 2602:f3e2:f03:10::/64, f03:11::/64 |
| U2 | juju restore-backup exists? |
L6 (#1) | IT DOES NOT. juju help restore-backup -> ERROR juju: "restore-backup" is not a juju command. See "juju --help". Did you mean: create-backup. This promotes L6-14 from a flagged RISK to a CONFIRMED DEFECT -- Stage 6 Step 9's D-104 restore drill and its DoD bullet are built on a command that does not exist. DOCFIX-204 class: unsatisfiable as written |
| U3 | juju bind subcommand + <endpoint>=<space> syntax |
L6 (#2) | EXISTS as documented: Usage: juju bind [options] <application> [<default-space>] [<endpoint-name>=<space> ...]. Lens 6 was right to EXCLUDE it from L6-7 rather than assert it wrong -- a correctly-handled uncertainty |
| U4 | Is curl on the racks? |
L4 (#1) | PRESENT on both: /usr/bin/curl on dc0 and dc1. L4-13's "could not look" hole is therefore theoretical, not live -- the artifact checkers' behavioural probe does run today |
| U5 | dc0 compute provider-public MACs | L3 (#4) | vr1-dc0-compute-01 -> 52:54:00:1b:19:e6, vr1-dc0-compute-02 -> 52:54:00:18:ab:b4. Matches scripts/lib-hosts.sh:121-122 exactly, and CONFIRMS L3-8: bundle.yaml:458-464 carries dc1's 52:54:01:d1:* MACs in the file documented as dc0's source of truth |
| U6 | Does the maas CLI work from the jumphost? |
L2 (#6) | The maas binary is ABSENT on vcloud. So preflight P4's FAIL: MAAS unreachable: 'maas admin subnets read' failed is a MISDIAGNOSIS -- it is not a network or region problem, it is a missing client, the same class as the absent openstack client (S-1) and the absent juju (L4-2). The message actively misleads |
| U7 | Do the pinned charm channels resolve on Charmhub? | L3 (#3) -- "no upstream fetch performed", despite the session having Charmhub access granted | They resolve. Run via juju info on voffice1 (the same tool the P3 gate uses): designate/designate-bind/cinder-backup all list 2024.1; hacluster lists 2.4; ceph-osd/ceph-mon/ceph-rbd-mirror/ceph-radosgw all list squid. This also proves L4-2's root cause and its fix: P3's 33 warns are purely the missing juju binary on vcloud. Run from the Plane-2 host, the lookups work |
| U8 | dc1 edge egress OPEN right now? | L5 (#2) | MEASURED OPEN (earlier this session): streams.canonical.com/juju/tools/ -> 200, api.snapcraft.io reachable, archive.ubuntu.com -> 200, ping 1.1.1.1 0% loss, default route via 10.12.64.1. Probed with --noproxy so an apt-cacher hit could not fake it |
| U9 | Stage-5 execution host / juju location | L7 (#2) | CONFIRMED: juju at /snap/bin/juju on voffice1, ABSENT on vcloud; ~/.local/share/juju/ holds clouds.yaml + credentials.yaml |
| U10 | The three tofu plan captures |
L2 (#2) | DONE: all three roots ZERO DIFF, with the inner pair's validity established first |
| U11 | site-baseleg.sh check office1 |
L2 (#4) | DONE: PASS |
| U12 | preflight live exit code + red set | L1 (#1) | DONE: exit 1, red set exactly the known one. L1's denial was a missing Bash(timeout *) rule -- a failed-to-MATCH, not a classifier override |
| U13 | creds-matrix --tier2 --remote --privileged |
L4 (#4) | DONE: exit 1, same 7 findings, all three root-owned dirs read via sudo -n escalation, ZERO E3 |
| U14 | Canonical piped rack-checker invocations | L4 (#1), audit session | DONE by L2: dc-mirror dc0 PASS, dc-cache-proxy dc1 PASS, dc-rack-net PASS both |
Genuinely unmeasurable today (a live artefact does not exist yet):
machines: block, and any juju deploy --dry-run. Requires a bootstrapped controller and a model; juju controllers -> ERROR No controllers registered. provider-bundle-check's merge is a MIRROR of juju's documented behaviour, not juju itself.tags= constraint to units placed by explicit to: machine ids (L5-14). No model to test against.cloud-assert.sh end-to-end. No OpenStack model exists.Ready under the READY-handoff ruling -- G17's territory by construction..50-.99 band. Behavioural, observable only during a real deploy. What IS measured is MAAS's own declaration that the band is unreserved on 12/12 subnets.ceph-osd accepts a directory/partition for osd-devices. Attempted this sweep: juju info ceph-osd does not expose config keys, so it needs a charm-config fetch. Moot for the decision -- R1 ruled option (a), a real second disk -- but recorded as still-unmeasured rather than quietly dropped.Measurable, NOT yet done -- these are real remaining gaps, not excuses:
repo-lint and the gauntlet ON voffice1 (L5 P2). Deliberately deferred: that clone is 105 commits behind, so running them there today measures a stale tree. Owed immediately AFTER the clone is advanced, which is precondition 0.1.RETROFIT_WAIT=30m and any other nested-virt-calibrated constant (L7 #1). Not attempted.Nothing in the readiness verdict is reversed. Two things are STRENGTHENED and one question was withdrawn:
juju restore-backup does not exist; Stage 6's restore drill and its DoD bullet are unsatisfiable as written.juju (L4-2) and absent openstack (S-1), the pattern is that three separate preflight/deploy failures on this jumphost are all "the client is not installed", and each is reported as something else. That is its own DOCFIX and its own lesson: a tool-absence must not be reported as a target-unreachable.lib-net.sh and MAAS.Add to the subagent contract, alongside "report a denied call as UNMEASURED": before declaring an item unmeasurable, verify the constraint you are asserting. Lens 6 asserted "no Juju client exists on this host" without checking the host where D-128 says the client lives. The UNMEASURED escape hatch is load-bearing for honesty, and precisely for that reason it must not become a way to avoid looking.