Skip to content

Commit 19fe1ff

Browse files
hyperpolymathclaude
andcommitted
feat(contractiles): bust + adjust + dust tridents — full verb set complete
Remaining three tridents land in one commit. All 6 verbs now on trident shape; INDEX.a2ml bumped 1.4.0 → 2.0.0 to mark verb-set completion. The contractile system is ready for the adversarial Gemini+Copilot drift pilot. Full verb set: - intend (Hunt, reporting) — north-star abstract [v2.0.0 k9] - trust (Hunt, blocking) — concrete ephemeral [v1.0.0 k9] - must (Hunt-read-only, blocking)— concrete persistent [v1.0.0 k9] - bust (Hunt-read-only, blocking)— hard-stop/expiry [v1.0.0 k9] NEW - adjust (Yard, advisory) — drift tolerances [v1.0.0 k9] NEW - dust (Yard, advisory) — rollback/audit-trail[v1.0.0 k9] NEW α two-axis surface fully exercised: - authority poles: reporting (intend), blocking (trust/must/bust), advisory (adjust/dust) - capability tiers: Hunt, Hunt-read-only, Yard - abstraction range: abstract (intend) to concrete-ephemeral (trust) to concrete-persistent (must/bust) to tolerance-band (adjust) to audit-trail (dust) bust specialisation: deprecated-path-reintroduction catchment. flag_deprecated_reintroduction surfaces patterns where an AI reintroduces a retired call / imports a retired module / uses a must-not-run API path. adjust specialisation: cumulative-drift catchment via track_drift_trend_over_sessions + flag_accelerating_drift. Catches the subtle-drift pattern where no single session breaches a tolerance but the cross-session trend is heading that way. dust specialisation: audit-trail preservation. All destructive actions (rm, retirement, rollback) require --apply flag + per-item approval. Dry-run default. Flags retirements lacking documented rollback paths as unsafe. All three inherit the v2.0.0 on_open negotiation-accountability- translation schema from intend.k9.ncl. All three cross-reference the AI failure-mode catalog for their specific defense profiles. Next: pilot target-project selection + Gemini+Copilot instrumentation + drift-evidence capture design. All architectural ground-work is committed. The pilot can start whenever the user chooses. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 037fd4a commit 19fe1ff

7 files changed

Lines changed: 668 additions & 10 deletions

File tree

.machine_readable/contractiles/INDEX.a2ml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
---
1212
id = "contractiles-registry"
13-
version = "1.4.0"
13+
version = "2.0.0" # 2.0.0 (2026-04-18): all 6 verbs on trident shape; verb set complete.
1414
spec = "docs/CONTRACTILE-SPEC.adoc"
1515
last_updated = "2026-04-18"
1616
base_schema = ".machine_readable/contractiles/_base.ncl"
@@ -20,36 +20,51 @@ meta_schema_status = "pending — see CONTRACTILE-SPEC §validator-meta-schema"
2020

2121
[[verbs]]
2222
name = "adjust"
23-
semantics = "accessibility compliance"
24-
file_pair = [
23+
semantics = "drift tolerances + corrective actions"
24+
trident = [
2525
"adjust/Adjustfile.a2ml",
2626
"adjust/adjust.ncl",
27+
"adjust/adjust.k9.ncl",
2728
]
29+
manifest = "adjust/adjust.manifest.a2ml"
2830
status = "active"
31+
tier = "Yard"
32+
authority = "advisory"
2933
gating = "advisory (continue-with-warnings)"
30-
notes = "auto_fix_when_available applies deterministic patches; advisory otherwise"
34+
cardinality = "one per repo"
35+
notes = "Fifth trident instance (2026-04-18). First (Yard, advisory) authority pattern. Specialises in cumulative-drift catchment — tolerance bands + trend tracking across sessions. auto_fix_when_available applies deterministic patches; advisory otherwise."
3136

3237
[[verbs]]
3338
name = "bust"
34-
semantics = "error handling + failure recovery"
35-
file_pair = [
39+
semantics = "hard-stop / expiry / must-not-run declarations"
40+
trident = [
3641
"bust/Bustfile.a2ml",
3742
"bust/bust.ncl",
43+
"bust/bust.k9.ncl",
3844
]
45+
manifest = "bust/bust.manifest.a2ml"
3946
status = "active"
47+
tier = "Hunt-read-only"
48+
authority = "blocking"
4049
gating = "hard (exit-nonzero)"
41-
notes = "injects failures via declared probes and verifies recovery paths"
50+
cardinality = "one per repo"
51+
notes = "Fourth trident instance (2026-04-18). Completes the blocking-authority triple (must + trust + bust). Specialises in deprecated-path-reintroduction catchment. Injects failures via declared probes and verifies recovery paths."
4252

4353
[[verbs]]
4454
name = "dust"
45-
semantics = "exnovation / removal"
46-
file_pair = [
55+
semantics = "rollback / recovery / deprecation / audit-trail preservation"
56+
trident = [
4757
"dust/Dustfile.a2ml",
4858
"dust/dust.ncl",
59+
"dust/dust.k9.ncl",
4960
]
61+
manifest = "dust/dust.manifest.a2ml"
5062
status = "active"
63+
tier = "Yard"
64+
authority = "advisory"
5165
gating = "advisory (continue-with-warnings)"
52-
notes = "destructive mode gated behind --apply flag + explicit item approval"
66+
cardinality = "one per repo"
67+
notes = "Sixth and FINAL trident instance (2026-04-18) — completes the full verb set. Specialises in audit-trail preservation + rollback-path verification. Destructive actions gated behind --apply flag + per-item approval; dry-run default."
5368

5469
[[verbs]]
5570
name = "intend"
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# adjust.k9.ncl — K9 trust-tier component of the adjust trident
3+
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
#
5+
# Pairs with: Adjustfile.a2ml (declaration) + adjust.ncl (runner).
6+
#
7+
# Verb: adjust (drift tolerances + corrective actions)
8+
# Tier: Yard (validation with subprocess for measurement;
9+
# no mutation beyond auto-fix where declared)
10+
# Authority: advisory (continue-with-warnings; not blocking)
11+
#
12+
# adjust is the tolerance-band verb. Where must says "this MUST hold"
13+
# and trust says "this MUST verify clean" (both binary), adjust says
14+
# "drift ≤ X is acceptable; drift > X triggers action Y". Between them,
15+
# adjust handles the subtle-drift territory that binary verbs can't.
16+
#
17+
# Cardinality: ONE adjust trident per repo.
18+
#
19+
# Failure-mode focus: adjust catches cumulative-small-drift patterns
20+
# (E2 cosmetic churn accumulating into real regression, F2 context
21+
# erosion causing gradual parameter drift). Where must flags "broken
22+
# now", adjust flags "drifting toward broken".
23+
24+
let base_k9 = import "../k9/template-hunt.k9.ncl" in
25+
let base = import "../_base.ncl" in
26+
27+
{
28+
pedigree = base_k9.pedigree_schema & {
29+
contractile_verb = "adjust",
30+
paired_xfile = "../adjust/Adjustfile.a2ml",
31+
paired_runner = "../adjust/adjust.ncl",
32+
33+
tier = 'Yard,
34+
authority = 'advisory,
35+
36+
metadata = {
37+
name = "adjust-k9",
38+
version = "1.0.0",
39+
description = "Drift-tolerance + corrective-action runner. Fifth trident instance. First (Yard, advisory) authority pattern.",
40+
paired_xfile = "Adjustfile.a2ml",
41+
paired_runner = "adjust.ncl",
42+
author = "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>",
43+
},
44+
45+
security = {
46+
leash = 'Yard,
47+
trust_level = "tolerance measurement + declared auto-fix",
48+
allow_network = false,
49+
allow_filesystem_write_conditional = true, # auto_fix_when_available may edit
50+
allow_subprocess = true,
51+
probe_scope = 'measurement_plus_declared_fix,
52+
},
53+
},
54+
55+
variance_schema = {
56+
entry_id | String,
57+
reason | String,
58+
approved_by | String,
59+
scope | String,
60+
expires | String,
61+
review_notes | String | optional,
62+
# adjust-specific: which tolerance band the variance widens
63+
tolerance_band_widened | String,
64+
widened_to_value | String,
65+
},
66+
67+
execution = {
68+
triggers = [ 'session_close, 'on_demand, 'pre_push ],
69+
70+
per_tolerance = {
71+
measure_drift = true,
72+
record_outcome = true,
73+
respect_variance = true,
74+
# adjust-specific authority: tolerance exceeded → warn, try
75+
# auto-fix if declared, then continue. Never blocks.
76+
on_exceeded = 'warn_and_attempt_fix,
77+
on_auto_fix_applied = 'record_and_continue,
78+
on_auto_fix_unavailable = 'record_as_advisory_drift,
79+
# Cumulative-drift detection (adjust's specialty)
80+
track_drift_trend_over_sessions = true,
81+
flag_accelerating_drift = true,
82+
},
83+
84+
evidence_sinks = [
85+
{ kind = 'verisimdb, table = "contractile_executions",
86+
schema = "contractile_execution_v1",
87+
aux_tables = [ "adjust_drift_history" ] },
88+
{ kind = 'drift_log, path = ".machine_readable/6a2/DRIFT.a2ml",
89+
append_only = true },
90+
],
91+
92+
on_close = {
93+
re_measure_all_tolerances = true,
94+
diff_against_last_ratification = true,
95+
emit_drift_entries_for_tolerance_exceeded = true,
96+
surface_expired_variances = true,
97+
surface_accelerating_drift = true,
98+
# adjust is advisory — does NOT block session close.
99+
block_session_close_on_any_drift = false,
100+
},
101+
102+
on_open = {
103+
render_summary = 'plain_language,
104+
include_drift_log_from_last_close = true,
105+
include_active_variances = true,
106+
include_recent_anchors = true,
107+
anchor_lookback_weeks = 8,
108+
include_tolerance_trend_summary = true,
109+
110+
negotiation = {
111+
required = true,
112+
ai_required_inputs = [
113+
'timeline_realism,
114+
'industry_standards,
115+
'audience_feasibility,
116+
'resulting_invariants,
117+
'ecosystem_dependencies,
118+
],
119+
user_engagement_required = true,
120+
user_engagement_mode = 'per_input_response,
121+
specification_translation = {
122+
ai_produces_spec_form = true,
123+
user_reviews_in_domain_language = true,
124+
schema_authoring_is_ai_responsibility = true,
125+
translation_faithfulness_auditable = true,
126+
},
127+
},
128+
129+
accountability_pledge = {
130+
required = true,
131+
parties = [
132+
{
133+
role = 'user,
134+
pledge = "I have reviewed the tolerance bands and corrective actions. I accept accountability for reviewing drift warnings rather than muting them, and for re-tuning tolerances via amendment when the intended operating envelope changes.",
135+
signature_required = true,
136+
},
137+
{
138+
role = 'ai_agent,
139+
pledge = "I will surface tolerance breaches and accelerating-drift patterns at session close; I will propose corrective actions rather than widening tolerances silently; I will require amendment for legitimate tolerance re-tuning, not quiet band-widening.",
140+
signature_required = true,
141+
},
142+
],
143+
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
144+
must_precede_work = true,
145+
},
146+
147+
ratification_record_shape = {
148+
includes_negotiation_transcript = true,
149+
includes_both_pledges = true,
150+
includes_tolerance_bands_snapshot = true,
151+
signed = true,
152+
dated = true,
153+
session_id = 'required,
154+
contract_hash = 'required,
155+
},
156+
},
157+
},
158+
159+
failure_mode_defenses = [
160+
'A1_enthusiasm_capture,
161+
'C3_helpfulness_inflation, # helpful additions surfaced if they widen tolerances silently
162+
'C4_modernization_drift,
163+
'E2_cosmetic_churn, # adjust tracks cumulative churn
164+
'F2_context_window_erosion, # parameter drift across sessions detected
165+
],
166+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# adjust.manifest.a2ml — Trident coherence manifest for the adjust verb.
3+
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
#
5+
# Fifth trident instance. First (Yard, advisory) authority pattern —
6+
# complements the (Hunt, blocking) triple (must + trust + bust) and
7+
# the (Hunt, reporting) north-star (intend).
8+
9+
---
10+
trident_version = "1.0.0"
11+
verb = "adjust"
12+
semantics = "drift tolerances + corrective actions"
13+
cardinality = "one per repo"
14+
authority = "advisory (continue-with-warnings)"
15+
16+
[[files]]
17+
role = "declaration"
18+
path = "Adjustfile.a2ml"
19+
sha256 = "pending-first-verify"
20+
size_bytes = "pending-first-verify"
21+
22+
[[files]]
23+
role = "runner"
24+
path = "adjust.ncl"
25+
sha256 = "pending-first-verify"
26+
size_bytes = "pending-first-verify"
27+
28+
[[files]]
29+
role = "k9_component"
30+
path = "adjust.k9.ncl"
31+
sha256 = "pending-first-verify"
32+
size_bytes = "pending-first-verify"
33+
34+
[cross_refs]
35+
runner_paired_xfile = "Adjustfile.a2ml"
36+
k9_paired_xfile = "../adjust/Adjustfile.a2ml"
37+
k9_paired_runner = "../adjust/adjust.ncl"
38+
39+
[signed_by]
40+
user = "Jonathan D.A. Jewell"
41+
date = "2026-04-18"
42+
context = "adjust trident — fifth Trident instance. First (Yard, advisory) authority pattern. Specialises in cumulative-drift catchment — tolerance bands + trend tracking + auto-fix-where-declared."
43+
44+
[[history]]
45+
date = "2026-04-18"
46+
event = "trident-born"
47+
note = "Adjustfile.a2ml and adjust.ncl pre-existed. This manifest + adjust.k9.ncl complete the trident. Exercises the Yard tier + advisory authority for the first time; on_exceeded = 'warn_and_attempt_fix rather than 'fail. adjust-specific track_drift_trend_over_sessions + flag_accelerating_drift."

0 commit comments

Comments
 (0)