Commit 79d6103
feat(contractiles): intend.k9.ncl v2 — negotiation + accountability + spec-translation
Extends the intend trident's on_open hook from simple ratification
(user reads summary, says yes) to full negotiation protocol as
specified in user session 2026-04-18 (memories:
user_contract_negotiation_and_accountability_pledge,
user_contractiles_agreed_at_session_start).
on_open now requires:
1. Negotiation phase — AI must contribute five structured inputs
before the user is asked to ratify:
- timeline_realism ("this will take X; not Y")
- industry_standards (WCAG / ISO / OWASP / GDPR / licensing)
- audience_feasibility (real addressable user set; the
tetrachromatic+6/4 example from user 2026-04-18)
- resulting_invariants (must/trust/adjust entries that follow)
- ecosystem_dependencies (libs, licences, threat-model
implications)
2. Plain-language translation — AI authors the specification form
(Nickel schemas, probe definitions, type refinement); user
reviews the rendering in domain language. User never has to
learn spec-theory to ratify. AI is accountable for translation
faithfulness.
3. Accountability pledge — both parties sign explicit pledges:
- User: "I accept accountability for meeting the declared
invariants and for the audience/timeline/standards consequences."
- AI: "I will hold the user to the obligations, including by
surfacing drift at session close and refusing off-contract
actions even when the user is enthusiastic. If the user wants
to depart, I require a variance or amendment, not silent
acceptance."
4. Ratification record = negotiation transcript + both pledges +
session-id + contract-hash, persisted to
.machine_readable/6a2/ratification-<session-id>.a2ml.
Also includes `user_engagement_required = true` + `user_engagement_mode
= 'per_input_response` so that blank-cheque ratification ("just do it,
I trust you") is explicitly rejected — the system re-renders and
requires engagement with each input. Per user
"without the human having any concern that this is something they have
to seriously figure out the types and degree of specification itself"
but "they will be contractual and so often very specific" — AI does
specification work, human stays in domain language, result is
specific-enough contract.
Metadata version 1.0.0 → 2.0.0 (significant schema extension).
Manifest history entry added. intend is the hardest verb (abstract
north-star per user 2026-04-18); baking the full protocol here first
means simpler verbs (trust, must) inherit the template.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent fda5f0b commit 79d6103
2 files changed
Lines changed: 99 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| |||
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
139 | 148 | | |
140 | | - | |
141 | | - | |
| 149 | + | |
| 150 | + | |
142 | 151 | | |
143 | 152 | | |
144 | | - | |
145 | | - | |
146 | 153 | | |
147 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
148 | 232 | | |
149 | 233 | | |
150 | 234 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
0 commit comments