Operability, vocabulary teach-back, language pin, reframe, and dry-run fixes - #14
Merged
Conversation
PR #12 added OPERABILITY.md, but nothing routed to it: README still described the pre-#12 loop (consult, apply, report gaps), AGENTS.md never mentioned usage reports, and setup ended without handing the user to the operating loop. - README: describe the current loop (consult, surface gaps or conflicts, draft or stop, review and decide, revise, recalibrate) and mention the usage report. - AGENTS.md: add a short 'Usage reports' section pointing at OPERABILITY.md — optional, reviewer-facing metadata, kept separate from requested copy, never proof of compliance. - setup/PROTOCOL.md: Phase 5 growth paths now include the operability handoff. Docs only; no new files, rules, or runtime. Co-Authored-By: goose <goose@block.xyz> Signed-off-by: David Hamilton <daveh@squareup.com>
… term gently Adds an optional references/vocabulary.md mapping everyday phrases to canonical terms so agents can meet people in their own words, plus a conversation-only teach-back contract in AGENTS.md: - fulfill the request first; at most one teach-back per reply - conversational framing only, never inside deliverables - skip when the canonical term was already used, when the request is urgent, when asked to stop, or when teaching: "off" - never log, score, or report anyone's word choices Setup Q4 now records everyday synonyms without judgment and generates vocabulary.md only when the interview surfaces real phrase pairs. Calibration pairs gain a one-line "What this teaches" note so each pair doubles as a teaching artifact. Slimmed re-cut of the red-teamed teaching-loop experiment (origin/teaching-loop): keeps the one-per-reply cap, deliverable fence, urgency gate, and no-mistake-record rules; drops the in-repo conformance harness to keep the template runtime-free. Co-Authored-By: goose <goose@block.xyz> Signed-off-by: David Hamilton <daveh@squareup.com>
5 tasks
The convention that turns a chalkline repo from a place agents visit into a dependency other repos declare. A consuming repository adds a short block to its own AGENTS.md naming the language repo and a commit: - agents there consult the pinned revision, not whatever is newest - if the revision is unreadable, that is a reported gap, not a guess - the pinned revision is cited in usage reports so reviewers can reconstruct what was read - bumping the commit is how an approved language change reaches consuming repos — deliberate, visible, diffable - multiple applicable language repos surface to a human; precedence across systems is not an agent decision Wired in four places so it reads as one convention: README (the pin block itself), AGENTS.md (how to behave when routed here by a pin), OPERABILITY.md (scope and boundaries), setup Phase 5 (growth path). Docs only; no runtime, schema, or new files. Co-Authored-By: goose <goose@block.xyz> Signed-off-by: David Hamilton <daveh@squareup.com>
The tagline now scopes chalkline to the part of a team's language it can actually record — voice, terminology, vocabulary, channel rules — inside the larger truth that teams brief agents, reach customers, and define products in words. The problem statement names the concrete failure mode: every prompt, agent file, and skill restates the team's voice from memory, drifting a little each time. Two sentences changed; no new claims. Writing stays the proven first domain. Co-Authored-By: goose <goose@block.xyz> Signed-off-by: David Hamilton <daveh@squareup.com>
Collaborator
Author
|
🤖 Added commit 4: two-sentence README reframe — the tagline scopes chalkline to 'the part of your team's language you can agree on' (voice, terminology, vocabulary, channel rules), and the problem statement names prompt-restatement drift as the failure mode. No new claims. |
A scripted setup run (fictional Larkspur tool-lending co-op, fresh
brand so the shipped Meridian example could not be cribbed) plus a
consumer-phase test through a language pin surfaced seven protocol
ambiguities. Fixes, each pointing at the observed stall:
- Q2 probes: skip any probe the answer already settled — chatty users
answer all three adjectives at once
- Q6: create channels.md only when channel-specific rules surface;
naming places writing shows up isn't enough ("kind of everywhere?
email, flyers..." previously matched both clauses)
- Q7 exact wording: ask where the canonical copy lives; record a
stable link or path, or name the owning source when it's paper-only
- Phase 2: edited rules count as approved-as-edited (provenance
tally); product facts (prices, hours, durations, mechanics) are
named as facts and routed to product docs, never offered as writing
rules; absence-inferred patterns are weak candidates, dropped
without argument
- Phase 3 vocabulary: one everyday phrase mapping to two canonical
terms ("booking" = loan and hold) gets a disambiguation note
- Phase 4: ambiguous supplied facts ("06/02") — ask or keep the
original form; reformatting is language, reinterpreting is a fact
decision
- Phase 5: diff review needs a one-line-per-file summary; 200 added
lines is not a reviewable unit on its own
AGENTS.md: the frontmatter contract now states what the examples
already practiced — file-level enforcement is the default, a single
rule may carry an inline (must) at the same bar, unmarked rules
inherit the file default.
Full run transcript and findings filed on issue #2.
Co-Authored-By: goose <goose@block.xyz>
Signed-off-by: David Hamilton <daveh@squareup.com>
delkc
self-requested a review
July 30, 2026 13:19
delkc
approved these changes
Jul 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What setup experience does this improve?
One bundle, five independently reviewable commits. Gaps addressed: (1) #12 landed OPERABILITY.md but nothing routed to it; (2) setup Q4 surfaced everyday synonyms with nowhere to put them; (3) nothing let another repository consume a chalkline system; (4) the README undersold the problem scope; (5) the first end-to-end dry run surfaced seven protocol ambiguities.
Commit 1 — Wire the operability loop into the docs agents and users actually read
Commit 2 — Vocabulary and teach-back
Slimmed re-cut of the red-teamed
teaching-loopexperiment:references/vocabulary.md— everyday phrases → canonical terms; governs conversation, not output.teaching: "off"gates; never a mistake record.vocabulary.md.Kept from red-team hardening: countable cap, deliverable fence, urgency gate. Dropped: the in-repo conformance harness — template stays runtime-free.
Commit 3 — Language pin: let other repos declare this writing system
A consuming repository adds a short block to its own
AGENTS.mdnaming the language repo and a commit. Agents there consult the pinned revision (unreadable = reported gap, not a guess), cite it in usage reports, and surface multi-repo conflicts to a human. Bumping the commit is how approved language changes reach consuming repos. Wired in README, AGENTS.md, OPERABILITY.md, and setup Phase 5.Commit 4 — Reframe the problem (two sentences)
Tagline scopes chalkline to the part of a team's language it can actually record, inside the larger truth that teams brief agents, reach customers, and define products in words. Problem statement names prompt-restatement drift as the failure mode.
Commit 5 — Protocol fixes from the first end-to-end dry run
Scripted setup run (fresh fictional brand so the shipped Meridian example couldn't be cribbed) plus a consumer-phase test through a language pin. Full field report on #2. Fixes:
(must)enforcement model the examples already practicedVerified in the dry run: fact/language boundary held both directions (setup refused product facts; consumer flagged missing closing time instead of inventing it); exactly one teach-back fired, conversationally, never in copy; pin consumer verified the revision and cited it in its usage report.
Docs only across all five commits; no runtime, schema, or new tooling. Replaces #13.
Safety and verification
git commit -s).