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.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
== Changelog

All notable changes to this project will be documented in this file.

The format is based on https://keepachangelog.com/en/1.1.0/[Keep a
Changelog], and this project adheres to
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== [Unreleased]

==== Added

* `+LICENSES/+` directory (MPL-2.0, AGPL-3.0-or-later) and a root
`+REUSE.toml+` declaring licensing for owner-authored files. The project
is now fully compliant with version 3.3 of the REUSE Specification
(`+reuse lint+` passes).
* Claude Code project config under `+.claude/+`: a permission allowlist
for the safe git / reuse / shellcheck / estate-rules commands used to
validate this repo, plus a best-effort SessionStart hook that provisions
the lint tooling (reuse, shellcheck, asciidoctor) via package managers —
no piped remote scripts.

==== Changed

* Repaired the V-language ban check in the `+estate-rules+` workflow: a
find/replace had corrupted it to match the project’s core language (Zig)
rather than the V language, so the gate had been red since the initial
commit. It is now green.
* Rewrote `+docs/STATE-VISUALIZER.adoc+` to reflect honest design-phase
status (removed the inaccurate "`100% certified`" and PMPL claims).
* Replaced residual `+rsr-template-repo+` identity with `+llm-grace+`
(`+Justfile+`, `+EXPLAINME.adoc+`, `+TEST-NEEDS.adoc+`).
* Allowlisted `+SKELETON.adoc+` at the repo root; converted the
tech-debt audit note from Markdown to AsciiDoc.
* README / docs: withdrew the "`PMPL licensing debt`" framing per
ADR-0005, and wrapped three documentation mentions of SPDX identifiers
so `+reuse+` no longer mis-parses them as headers.

==== Fixed

* Corrected a broken `+find -exec+` (missing `+{}+` and terminator) in
the end-to-end template-instantiation test.

==== Removed

* Generated Idris2 build artifacts under `+src/interface/build/+` (now
git-ignored).

==== Closed

* Issue #3 ("`Licensing debt 2: PMPL-overlay migration`") — withdrawn
per ADR-0005; closed as not planned.
48 changes: 0 additions & 48 deletions CHANGELOG.md

This file was deleted.

9 changes: 9 additions & 0 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
== Contributing

[arabic]
. Fork the repository
. Create a feature branch
. Ensure SPDX headers on all files
. Submit a pull request

*Author:* Jonathan D.A. Jewell j.d.a.jewell@open.ac.uk
9 changes: 0 additions & 9 deletions CONTRIBUTING.md

This file was deleted.

77 changes: 77 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
https://www.mozilla.org/MPL/2.0/[image:https://img.shields.io/badge/License-MPL--2.0-brightgreen.svg[License:
MPL-2.0]]
image:https://img.shields.io/badge/status-design-orange.svg[Status:
design]

Graceful degradation for concurrent LLM/agent terminals. When system
resources get hairy, sessions back off *voluntarily and in priority
order* — before the OS OOM-kills everything at once — so the work that
matters survives and a returning human comes back to an *autopsy, not a
smoking crater*.

== Why

Run several agent terminals on one box and the failure mode is brutal:
nothing backs off, memory craters, and the OS kills the whole VM — every
session dies at once, ungracefully, mid-thought. `+llm-grace+` makes
that failure *legible, bounded, and recoverable*.

== How (one paragraph)

A tiny monitor reads cheap signals the kernel already emits (`+/proc+`
counters — memory, swap-out rate, iowait, disk saturation, loadavg) and
reads them as *signatures*, not thresholds: the classic "`disk-thrash +
low CPU`" pattern is the pre-OOM tell. Sessions coordinate through one
shared crash-safe LMDB ledger. Under pressure, the *least valuable* work
yields first — value measured as motion, not size, so a thrashing
runaway is shed before productive work — climbing a per-session ladder:
silent PAUSE (auto-resumes) → CHECKPOINT (a human-in-the-loop latch,
loud) → clean TERMINATE (state already saved, never auto-relaunched).
Every transition is timestamped; terminated sessions get a per-session
autopsy, and the whole episode aggregates into one timeline so you can
see *how it went wobbly*.

== Ethos (anti-failure-theatre)

The autopsy and death-spiral timeline are fallbacks you hope never to
read, *not features to admire*. Success is the tool’s own invisibility:
thousands of silent cheap pauses, near-zero loud events. If you read
autopsies often, the tool has failed at its real job. No warranty — the
promise is not "`it won’t go wrong`" but "`when it does, you’ll know
exactly what killed you, and nothing is lost.`"

== Status

Design phase. The architecture is decided and recorded as ADRs:

* link:docs/decisions/0003-graceful-degradation-architecture.adoc[ADR-0003
— full architecture]
* link:docs/decisions/0004-attention-decay-vs-persist.adoc[ADR-0004 —
attention: persist]
* link:docs/decisions/0005-licensing-mpl-now-pmpl-overlay-later.adoc[ADR-0005
— licensing posture (deliberate MPL-2.0 exception; no PMPL debt)]

Build is tracked as native sub-issues under the requirements epic. First
adapter targets Claude Code hooks (`+PreToolUse+`, `+UserPromptSubmit+`,
`+SessionStart+`); the core idea is adapter-agnostic. It will be built
*test-first* against a controlled memory balloon in an isolated session
before anything goes global.

== Licence

*MPL-2.0* (see LICENSE) — legally effective today.

This is a *deliberate, owner-ruled standalone exception* to the estate
canonical `+MPL-2.0+`, not drift. It is consistent with the estate
model: `+MPL-2.0+` (= Palimpsest-MPL) has MPL-2.0 as its automatic legal
base, so an MPL-2.0 repo is a clean subset. There is *no* "`PMPL
relicensing debt`" — that framing was a corrected false premise.
Canonical policy: `+hyperpolymath/standards+` `+LICENCE-POLICY.adoc+`.
Rationale:
link:docs/decisions/0005-licensing-mpl-now-pmpl-overlay-later.adoc[ADR-0005].

== Provenance / housekeeping

Scaffolded from `+rsr-template-repo+` (the neutral RSR skeleton). The
full RSR placeholder bootstrap and the per-file SPDX relicense are
tracked build sub-issues rather than rushed inline — foundation-first.
81 changes: 0 additions & 81 deletions README.md

This file was deleted.

11 changes: 11 additions & 0 deletions SECURITY.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
== Security Policy

=== Reporting a Vulnerability

*Email:* j.d.a.jewell@open.ac.uk

*Response timeline:* - Acknowledgement within 48 hours - Initial
assessment within 7 days - Fix or mitigation within 90 days

*Safe harbour:* We will not pursue legal action against security
researchers who follow responsible disclosure.
13 changes: 0 additions & 13 deletions SECURITY.md

This file was deleted.

Loading
Loading