Skip to content

feat: charter-tether — trust-modulated human channel, never severed - #5

Merged
hartsock merged 2 commits into
mainfrom
feat/charter-tether
Jun 14, 2026
Merged

feat: charter-tether — trust-modulated human channel, never severed#5
hartsock merged 2 commits into
mainfrom
feat/charter-tether

Conversation

@hartsock

Copy link
Copy Markdown
Member

Summary

The Tether invariant: a human-in-the-loop channel modulated by earned trust — it lengthens, but the high-stakes band is never severed.

  • Tether holds earned trust; earn() lengthens, slip() tightens after a mistake (saturating).
  • disposition(stakes): Low → Autonomous; Medium → Autonomous once trust >= MEDIUM_TRUST; High → always DeferToHuman. There is no Tether state where requires_human(High) is false — the human channel cannot be pretended unnecessary, at any trust. The invariant, by construction.
  • govern(...): autonomous → Proceeded (nothing recorded); defer → the human's call runs through charter-refusal, so a decline records a refusal into the scar. The audit answer to "where was human judgment applied?" — and where its dissent is remembered (tether → refusal → scar).

Verification

26 tests across the workspace · clippy -D warnings clean · fmt clean · pre-push hook passed.

Note

Branches off main (depends on refusal+scar, not novice), so it's independent of #3. Both touch the members array — expect a one-line merge after the first lands; happy to rebase. risk: low (new crate, additive).

The Tether invariant: a human-in-the-loop channel modulated by earned trust,
that lengthens but is never severed and never pretended unnecessary.

- Tether holds an earned-trust level; earn() lengthens it, slip() tightens it
  after a mistake (both saturating).
- disposition(stakes): Low → Autonomous; Medium → Autonomous once trust >=
  MEDIUM_TRUST else DeferToHuman; High → ALWAYS DeferToHuman. There is no Tether
  state in which requires_human(High) is false — the high-stakes band cannot be
  severed at any trust level. That is the invariant, by construction.
- govern(tether, stakes, log, decision, human): autonomous → Proceeded (nothing
  recorded); defer → the human's call runs through charter-refusal, so a decline
  records a refusal into the scar. The audit answer to "where was human judgment
  applied?" — and where its dissent is remembered (tether → refusal → scar).

26 tests across the workspace, clippy -D warnings clean, fmt clean.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
@hartsock
hartsock merged commit 7efb343 into main Jun 14, 2026
1 check passed
@hartsock
hartsock deleted the feat/charter-tether branch June 14, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant