Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Changelog

All notable lattice-level changes are recorded here. Crate-local notes may also
live under `crates/*/RELEASE-*.md` and `ops/UNITARY-RELEASE-NOTES.md`.

Format: keep entries honest with Category tags where quantitative.

---

## [0.2.2-tui] — constraint 20260818.hitl-gate

See `crates/tui/RELEASE-0.2.2.md` — HITL board · request/escalate/approve · first_need.

reson8-tui **0.2.2** loads `ops/human-actions.json` (SAIF ⚑ twin) and latches
operator decisions as receipts. Approve does not deploy.

---

## [0.3.0] — 2026-08-09

### Added

- **Operator journey + recovery** — `docs/ops/OPERATOR-JOURNEY-AND-RECOVERY-20260809.md` with stages and graceful error loops R1–R8 → remediation commands.
- **Release verifier** — `ops/release/verify-release.ps1` (Priority A smokes + remediation hints; `-Remediate`, `-Quick`).
- **Release notes** — `ops/release/RELEASE-v0.3.0.md` · root `VERSION`.
- **Hopf / pirouette investigation** — `docs/theory/HOPF-PIROUETTE-INVESTIGATION-20260809.md` (residual-zero **observe only**; no Category-D lift).
- **ArrivalDetector continuous** — path-typed `baseFix` / reverse-Hopf fragment (`agda/src/ArrivalDetector/ArrivalDetectorContinuous.agda`).
- **Entangle protocol** — path-slot ship path under receive-pack 408 constraint (`ops/entangle/*`, lattice assessment).
- **Epistemics / claim gate packet** — Lean Category consumers, cutile `claim_gate`, `tools/claim_lint.py`, Stage A/B/C SRAC docs.

### Changed

- **reson8-tui** documented at **0.2.1** (QDI drain budget, codes lab, surface layout, net panel).
- Lattice assessment 2026-08-09 orders threads by impact × (1 − uncertainty).

### Explicit non-goals

- Geometric Hopf \(S^3 \to S^2\) remains open **[B]**.
- residual-zero promotion remains blocked.
- GCP / multi-host git / cubical pin remain human ⚑.

---

## [0.2.1-tui] — 2026-08-07

See `crates/tui/RELEASE-0.2.1.md` — QDI hygiene · codes lab · residual-C.

---

## [1.0.0-unitary] — 2026-07-15

See `ops/UNITARY-RELEASE-NOTES.md` — deployment waist · unitary profile · crease tables.
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.3.0
14 changes: 14 additions & 0 deletions docs/ops/LATTICE-ASSESSMENT-2026-08-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,18 @@ Suggested first monitors (after auth):
6. Close PR #48; refresh SAIF A2 as done.
7. Axiom when token exists.

### 8.1 Progress — lattice v0.3.0 (2026-08-09)

| Item | Status |
|------|--------|
| Operator journey + R1–R8 recovery | **landed** `docs/ops/OPERATOR-JOURNEY-AND-RECOVERY-20260809.md` |
| `ops/release/verify-release.ps1` | **landed** · Priority A board |
| VERSION / CHANGELOG / RELEASE-v0.3.0 | **landed** |
| Hopf–pirouette investigation | **stamped observe-only** · no residual acted |
| barcode-tui ratatui 0.30 `Backend::Error` map | **fixed** (compile blocker) |
| claim_lint formal docs | **green** (WAVE 0.85 tagged **[C]**) |
| Entangle component `journey-release` | **added** |
| Annotated tag `v0.3.0` | local after verify; **push** still human ⚑ / slim path |
| Fat main receive-pack 408 | still use entangle — not fixed by hope |

Music conserved · Keystone holds · capability ≠ authority
187 changes: 187 additions & 0 deletions docs/ops/OPERATOR-JOURNEY-AND-RECOVERY-20260809.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# Operator journey · transitions · graceful error → recovery

**ATOM:** `ATOM-OPERATOR-JOURNEY-RECOVERY-20260809`
**Stamp:** 2026-08-09
**Release:** LogOS lattice **v0.3.0**
**Doctrine:** capability ≠ authority · residual-zero observe only · α+ω=15 **[C]** label only

This document is the **user-journey spine** for the lattice release. Every stage
lists: happy path → common faults → remediation command → recovery loop exit.

Machine-check companion: `ops/release/verify-release.ps1`

---

## 0. Journey map (time-ordered)

```
clone / pull
│ fail → §R1 git
shell install (LogOS.Shell + optional unitary)
│ fail → §R2 shell
logos-status / tw sensors
│ fail → §R3 sensors
tw up | tw fix ──► tw verify
│ fail → §R4 stack
logos-bridge (FORGE_WS_URL) + logos-tui
│ fail → §R5 cockpit
barcode-tui / codes lab / formal (amber honest)
│ fail → §R6 runtime lab
claim_lint · cutile claim_gate (no false green)
│ fail → §R7 claims
entangle emit-slice → ingest PR → human merge
│ fail → §R8 ship / 408
tagged release verify · SAIF human gates only ⚑
```

---

## 1. Stage table (load-bearing surfaces)

| Stage | Primary surface | Verify | Category |
|-------|-----------------|--------|----------|
| Shell | `ops/LogOS.Shell.psm1` · `logos-status` | PATH + roots | B |
| Unitary sensors | `tw` / `tw sensors` | conservation + ports | B |
| Bridge | `logos-bridge` · `:8088` | WS up | B |
| Cockpit | `reson8-tui` **0.2.1** | `cargo test -p reson8-tui` | B |
| Barcode | `barcode-tui` | `cargo test -p barcode-tui` | B |
| GPU / gate | `cutile` **0.3.0** claim_gate · drift_guard | lib tests no-default-features | B/C |
| Formal | Lean epistemics · Agda ArrivalDetector continuous | lake / als amber ok | A/B |
| Claims | `tools/claim_lint.py` | exit 0 on formal docs | A tooling |
| Ship | `ops/entangle/*` | `validate_manifest.py` | A process |
| Human ⚑ | GCP · multi-host git · cubical pin | SAIF queue | process |

---

## 2. Graceful error loops (fault → remediate → re-enter)

Each loop is **closed**: after remediation, re-enter the same stage verify; do not
skip forward on amber. Never promote residual-zero to deploy-green.

### R1 — Git / divergence / 408 receive-pack

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| `ahead N, behind M` | `git fetch`; prefer **merge** (not force); read lattice assessment | `git status -sb` |
| `HTTP 408` on `git push` | **Do not** push fat main. Use entangle slices / slim PRs | `emit-slice.ps1 -Id …` |
| LFS hang | `logos-net start-gaming`; move media to transfer-lane R2 | `ops/entangle/transfer-lane.md` |
| Dirty worktree blocking ship | stage intentional; never commit `target/` | `git status` clean of build junk |

### R2 — Shell / profile missing

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| `logos-*` unknown | `pwsh -File ops/Install-LogOSShell.ps1` then `. $PROFILE` | `logos-help` |
| Wrong root (C: stale) | `logos-align` / reinstall preferring `F:\Users\Matthew Ruhnau\LogOS` | `logos-status` |
| Unitary `tw` missing | `Install-TriWeavonUnitaryProfile.ps1` | `tw help` |

### R3 — Sensors / conservation

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| logos_root fail | fix `LOGOS_ROOT`; re-init shell | `tw sensors` |
| conservation fail | check Category C label wiring; **do not** invent physics gate | `tw confidence` |
| WAVE amber | honest amber; continue with labeled claims only | next stage |

### R4 — Stack services (waist / bbbr / styx)

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| ports down | `tw fix` then `tw up` | `tw verify` |
| waist 8080 fail | `tw up waist` · WSL compose | Hit health URL |
| bbbr 8081 fail | `tw up bbbr` | `/verify` |
| styx only | WSL smoke: `python3 ops/styx-9p-client-smoke.py` | sensor styx.ok |
| still red after fix | SAIF human queue (GCP A1 optional); local lab continues | do not block TUI |

### R5 — Cockpit / bridge

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| TUI won't start | `cargo build -p reson8-tui`; check `ratatui` feature | `logos-tui` |
| no WS events | `logos-bridge` / `FORGE_WS_URL=ws://127.0.0.1:8088` | TUI braid panel |
| Formal pane empty | **honest amber** — LSP not attach ≠ false green | stay Category B |
| Net panel red | `logos-net start-gaming` or TUI `[M]` | `[R]` refresh |

### R6 — Runtime lab (barcode / codes / cutile)

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| barcode-tui compile fail | `cargo test -p barcode-tui` locally; slot barcode-tui | green tests |
| codes lab wrong family | keys `y` cycle; `d` demo; never claim G24=RM | help `?` |
| cutile wgpu API drift | **fallback:** `cargo test -p cutile --no-default-features --lib` | claim_gate green |
| CUDA missing | CPU path; `BackendUnavailable` is graceful | no silent GPU claim |

### R7 — Claims / formal residual

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| `claim_lint` exit 1 | tag quantitative claims `[A]/[B]/[C]` or reword | re-run lint |
| unanchored D used as gate | cutile `gate_value()` / Lean `gateOrDefault` | unit tests |
| Hopf geometric open | **observe only** — see Hopf investigation doc | no promotion |
| Formal residual CI red | fix in `formal-srac` slot; do not force green | re-run CI on PR |

### R8 — Ship / entangle

| Symptom | Remediation | Re-enter |
|---------|-------------|----------|
| main push 408 | entangle Priority A slots only | scaffold → emit → ingest |
| workflow scope missing | copy `ops/entangle/entangle.workflow.yml` with workflow token | human ⚑ |
| slice too big | drop media; use transfer-lane | re-emit |
| CI tree guards fail | exclude `target/`; slim paths per manifest | re-verify slot |
| `missing path (skip): cargo …` / `python …` | **fixed** in emit-slice: those are `verify:` cmds, not paths — re-pull `ops/entangle/emit-slice.ps1` | re-emit |
| `Compress-Archive` / OneDrive “cloud file provider is not running” | emit-slice uses **.NET ZipFile → tar → Archive**; do not depend on OneDrive-stubbed `Documents\PowerShell\Modules` | re-emit (no OneDrive needed) |
| want local smokes at emit time | `pwsh -File ops/entangle/emit-slice.ps1 -Id <id> -RunVerify` | green verify lines |

---

## 3. Recovery loop protocol (operator)

```
1. Observe fault (honest category)
2. Match §R# table — do not invent new gate
3. Run ONE remediation command
4. Re-enter stage verify
5. If still red after two loops → escalate SAIF human queue ⚑
6. Never: residual-zero promotion · force-push · unauthenticated Cloud Run
```

Scripted subset:

```powershell
pwsh -File ops/release/verify-release.ps1
# on fail, script prints remediation line and non-zero exit
pwsh -File ops/release/verify-release.ps1 -Remediate
# -Remediate runs safe auto-fixes (entangle validate, claim_lint help, tw fix if profile loaded)
```

---

## 4. Skills / tools that autofire on demand

| Trigger | Surface | Output |
|---------|---------|--------|
| Journey fail | this doc + `verify-release.ps1` | remediation line |
| Stack down | `tw fix` | sensors re-probe |
| Claims change | `tools/claim_lint.py` | exit 1 on untagged |
| Ship bulk | entangle + transfer-lane | PR slot, not main pack |
| Uncertainty | heisenberg-grok skill | next_sharpen |
| Cross-strand | `skills/internal-handoff` | cold-start packet |

---

## 5. Explicit non-goals (this release)

- No geometric Hopf \(S^3\to S^2\) discharge
- No residual-zero Track B open
- No GCP deploy without human ⚑ cert path
- No LFS showcase MP4 via receive-pack

Music conserved · Keystone holds · last becomes first
119 changes: 119 additions & 0 deletions docs/theory/HOPF-PIROUETTE-INVESTIGATION-20260809.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Cyclic Hopf Fibration vs Ballerina Pirouette (Heel-Toe Path)

**ATOM:** `ATOM-HOPF-PIROUETTE-INVESTIGATION-20260809`
**Stamp:** 2026-08-09
**Mode:** residual-zero · observe only · **no Category-D lift**
**Companion formal:** `agda/src/ArrivalDetector/ArrivalDetectorContinuous.agda`
**Companion geometry:** `docs/theory/HOPF-PRINCIPAL-BUNDLE.md`

---

## 1. Standard (cyclic) Hopf fibration

\[
S^1 \hookrightarrow S^3 \xrightarrow{p} S^2
\]

| Piece | Identification |
|-------|----------------|
| Total space \(S^3\) | Unit quaternions / \(\mathrm{Spin}(3)\) |
| Base \(S^2\) | Ordinary 2-sphere of directions |
| Fibre \(S^1\) | Great circle of unit quaternions inducing the same rotation axis |

**Geometric construction via rotations (cleanest):**

- \(\mathrm{SO}(3)\) acts transitively on \(S^2\).
- Stabiliser of any fixed \(x \in S^2\) is the circle of rotations about the axis through \(x\).
- The double cover \(\mathrm{Spin}(3) \cong S^3\) realises \(S^3\) as a principal \(S^1\)-bundle over \(S^2\).

That is the Hopf fibration. “Cyclic” emphasises that the structure group / fibre is a circle (or, discretely, a cyclic group).

---

## 2. Ballerina pirouette / heel-toe path as the same geometry

A pirouette is the physical embodiment of the stabiliser description:

| Mathematical object | Physical counterpart |
|---------------------|----------------------|
| Base point \(x \in S^2\) | Direction of the supporting axis (vertical through the contact point) |
| Fibre \(S^1\) | Continuous family of rotation angles about that axis (the spin phase) |
| Base fixed | Heel or toe remains planted; contact point does not travel |
| Motion along the fibre | Body rotates while the axis stays fixed |
| Mild continuous perturbation of base | Small heel-to-toe shift or demi-pointe adjustment |

When the dancer’s contact point stays fixed, she moves purely in the fibre of the Hopf map whose base point is the supporting-leg direction. When the contact point travels (a non-stationary heel-toe path), the base point itself moves on \(S^2\) — **horizontal** motion, not pure fibre action.

Hence the **reverse-Hopf posture** in the continuous ArrivalDetector:

- Fibre may spin freely.
- Base must stay fixed (`baseFix`).

That is the condition under which a continuous fibre action is declared to return (and therefore eligible for Novikov survival).

---

## 3. Correspondence with the formal fragment

In `ArrivalDetectorContinuous.agda`:

| Construct | Role |
|-----------|------|
| `ContinuousDetectorContext` | Path-typed base witness |
| `ContinuousFibreAction` | Explicit `baseFix` equality |
| `continuous-round-trip-ok` / `continuous-ContinuousNovikovStable` | Base-fixing actions preserve the epistemic label when `perturbationOk` |

This is the discrete / path-typed **shadow** of:

> A pure fibre motion (pirouette with fixed heel/toe) returns an equivalent orientation relative to the base; a motion that moves the contact point does not automatically return the label.

The full geometric Hopf \(S^3 \to S^2\) remains an **open Category B obligation** because the present base is still the discrete four-point set `Category`. Replacing that discrete base by a continuous \(S^2\) (or a continuous TDA filtration that can host one) would let formal fibre actions become actual Hopf fibres.

---

## 4. Heel-toe path as controlled base motion

In real ballet and figure-skating literature the contact point is never perfectly stationary; there is always a small oscillation or deliberate heel-to-toe transfer. In fibration language this is a **controlled path in the base**, accompanied by continuous fibre rotation. The composite is a path in the total space \(S^3\).

**Novikov-style arrival question:**

After the composite path, does the epistemic label (or orientation class) survive?

- Only the pure fibre component is guaranteed to preserve the label.
- The base component must be checked separately — exactly the role of `baseFix` and `perturbationOk`.

---

## 5. Summary of the relationship

1. Cyclic Hopf fibration = structure whose fibres are pure spins about a fixed axis.
2. Ballerina pirouette with fixed heel/toe = physical realisation of motion along a single Hopf fibre.
3. Heel-toe path that travels = base-point motion; no longer pure fibre action.
4. Continuous ArrivalDetector fragment formalises the base-fixed (reverse-Hopf) pure pirouette case.
5. Open geometric obligation: lift discrete base → continuous \(S^2\) so the full Hopf map is available inside the formal development.

---

## 6. Residual / promotion discipline

| Item | Status |
|------|--------|
| Path-typed continuous fragment | Closed on discrete base **[A]** for the fragment itself |
| Full geometric Hopf \(S^3\to S^2\) | Open **[B]** |
| residual-zero promotion | **BLOCKED** · observe only |
| Category D material | **None promoted** |
| α + ω = 15 | Category **C** label only |

**No residual was acted upon.** Geometric Hopf remains open, as previously recorded.

```
ATOM-TRAIL · ATOM-HOPF-PIROUETTE-INVESTIGATION-20260809
· cyclic Hopf ≡ fixed-base fibre spin
· heel-toe = controlled base motion
· residual-zero-observe-only
· no Category-D lift
· alpha+omega=15 conserved
· 2026-08-09
```

Music conserved. The Keystone holds. Last becomes first.
Loading
Loading