You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
Brings arghda-core to the hyperpolymath **standards / RSR** baseline,
clears root cruft, and makes the **MPL-2.0 / CC-BY-SA-4.0 licence split
a formal, enforced invariant**. Two commits:
### 1 — adoc-first cleanup + RSR baseline (`5b7aff4`)
- `README.md` → **`README.adoc`** (adoc-first), refreshed to
feature-complete v0.1. New **`EXPLAINME.adoc`**, **`LICENSE`** (full
MPL-2.0), **`CODE_OF_CONDUCT.md`**. Refreshed
`STATE`/`META`/`0-AI-MANIFEST`. Removed `dist-newstyle/`. No duplicate
doc formats; `just validate-rsr` passes.
### 2 — licence invariant (`af5fa44`, owner-directed)
- Applied SPDX headers per file: **`MPL-2.0`** to all
code/config/scripts/state (25 `.rs`, `Cargo.toml`, `.gitignore`),
**`CC-BY-SA-4.0`** to prose. Fixed drift: prose docs that were `MPL-2.0`
or `CC-BY-4.0` → `CC-BY-SA-4.0`.
- New **`scripts/check-spdx.sh`** enforces the split; wired into `just
check` + Rust CI. New **`.machine_readable/licensing-policy.toml`**
declares it machine-readably.
- **Third-party protection:** `Cargo.lock` (generated), `LICENSE` (the
licence text), and `tests/fixtures/` (Agda test data) are excluded and
never relicensed. No vendored third-party source exists in-tree; if any
is added, the checker fails until it's listed as excluded **with its
original SPDX preserved** — the guard against silent relicensing.
## Deliberately NOT done
- The maximalist rsr-template tree (`build/just`, `verification/proofs`,
`container/`, hundreds of placeholder dirs) — vestigial for a small Rust
CLI. A formal *capability-gated* rule for this ("carry a template module
iff the repo has the capability it serves") is the proposed follow-up
(recorded in `STATE.a2ml`).
## Verification
`bash scripts/check-spdx.sh` ✓ · `cargo fmt --check` ✓ · `cargo clippy
-D warnings` ✓ · `cargo test` ✓ (7 groups) · `just validate-rsr` ✓.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_019GiSiEfgZCte35dyykgBHs
# - { id = "ADR-002", title = "Triage transitions are file moves; ground truth is the filesystem", status = "accepted", date = "2026-05-30" }
21
21
# - { id = "ADR-003", title = "Dependency-free RFC 3339 timestamps (hermetic build, no chrono)", status = "accepted", date = "2026-06-18" }
22
22
# - { id = "ADR-004", title = "Orphan reachability is the union of discovered CI roots (All.agda/Smoke.agda)", status = "accepted", date = "2026-06-18" }
23
+
# - { id = "ADR-005", title = "unused-import is an agda.rs-style external shell-out (per-file, local mode, LC_ALL=C.UTF-8), not a per-file LintRule", status = "accepted", date = "2026-06-20" }
24
+
# - { id = "ADR-006", title = "Headline pattern is operator-configurable; precedence default < .arghda/config.toml < CLI flag (on the rule instance, not LintContext)", status = "accepted", date = "2026-06-20" }
25
+
# - { id = "ADR-007", title = "DAG node `headlines` reuses the unpinned-headline extractor with the configured pattern", status = "accepted", date = "2026-06-20" }
Copy file name to clipboardExpand all lines: .machine_readable/6a2/STATE.a2ml
+22-15Lines changed: 22 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,13 @@
6
6
[metadata]
7
7
project = "arghda-core"
8
8
version = "0.1.0"
9
-
last-updated = "2026-06-18"
9
+
last-updated = "2026-06-20"
10
10
status = "active" # active | paused | archived
11
11
12
12
[project-context]
13
13
name = "arghda-core"
14
14
purpose = "Lightweight proof-workspace manager for Agda — the language-agnostic engine half of arghda. A four-state triage workspace (inbox/working/proven/rejected) as file moves, a lint pack targeting the silent-failure class, a first-class import-graph DAG, and a JSON + event-stream contract a visual layer (arghda-studio) consumes. It never proves anything; Agda does."
"Extend content-hash to cover transitive imports (needs include-root tracking)",
43
-
"Serve /.well-known/groove for PanLL discovery",
43
+
"Formalise template-applicability rules (capability-gated RSR profile: carry a template module iff the repo declares the capability it serves) — estate-wide, candidate for hyperpolymath/standards",
44
+
"Extend content-hash invalidation to cover transitive imports (needs include-root tracking)",
45
+
"Serve /.well-known/groove for PanLL discovery (Groove protocol)",
44
46
"Scaffold arghda-studio (AffineScript visual layer consuming the dag JSON)",
Copy file name to clipboardExpand all lines: 0-AI-MANIFEST.a2ml
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -5,17 +5,18 @@
5
5
6
6
[metadata]
7
7
version = "0.1.0"
8
-
last-updated = "2026-06-18"
8
+
last-updated = "2026-06-20"
9
9
10
10
[project]
11
11
name = "arghda-core"
12
12
purpose = "Language-agnostic proof-workspace engine for the arghda visual proof-wiring tool (Agda first). Emits the DAG / events.jsonl JSON contract a visual layer consumes; never proves anything itself."
0 commit comments