The discipline
Every answer now has two readers.
Bookkeeping made money legible to auditors. Contextkeeping makes what your company knows legible to machines: AI drafts, humans approve, both readers consume, and the system tells you what's missing.
GET /llms.txt: served at this site's root · format: llmstxt.org
Every answer now has two readers.
# Contextkeeping > A KCS-informed operating model that makes company knowledge > legible to machines: AI drafts, humans approve, machines and > customers consume, and the system reports what is missing. ## Doctrine - [The doctrine](https://contextkeeping.com/doctrine): why both KCS assumptions expired, and why the methodology carries forward - [Answer economics](https://contextkeeping.com/answer-economics): cost per answer, not deflection - [The operating model](https://contextkeeping.com/operating-model): roles, gates, cadence, and the cost-per-answer P&L - [The maturity model](https://contextkeeping.com/downloads/contextkeeping-maturity-model.pdf): one-page self-assessment, no email required - [The vocabulary layer](https://machinereadyknowledge.com/terminology): terminology governance: terms are retrieval keys - [The graduation model](https://machinereadyknowledge.com/graduation): content earns trust rung by rung, retires on evidence, and grounds AI - [One issue, end to end](https://contextkeeping.com/one-issue): the loop demonstrated on a single ticket: seven minutes of human judgment ## Build log - [The git-backed system of record](https://contextkeeping.com/field-notes/system-of-record): build log 01: the reference implementation's store, its gate, and the history it writes - [The validation gate in action](https://contextkeeping.com/field-notes/validation-gate): build log 02: the schema gate, the lifecycle, and rejection codes as telemetry - [The gap loop, on a clock](https://contextkeeping.com/field-notes/gap-loop): build log 03: refusal to validated object in under a day, provenance kept - [Two kinds of old](https://contextkeeping.com/field-notes/two-kinds-of-old): build log 04: volatility vs staleness; dates move only on real re-verification ## Ecosystem - [Machine-Ready Knowledge](https://machinereadyknowledge.com): the four-clause article standard - [The AnswerEcon specimen](https://answerecon.com): the audit deliverable, readable in full, queue currently closed - [Field notes](https://contextkeeping.com/field-notes): every essay and free instrument, one page - [The Contextkeeping Toolkit](https://contextkeeping.com/toolkit): the practice, packaged, from $39
01 / one path, three rungs
Read the doctrine free. Leave with a number.
Everything on this estate sits on one path. Start anywhere; each rung stands alone and each one deepens the last. Click a rung.
# the path, as data
path: - rung: doctrine price: free includes: [essays, operating-model, maturity-model, mrk-1.0] - rung: module price: USD 39-79 - rung: bundle price: USD 299 module_credit: full price, within 14 days
02 / the governed knowledge loop
Three loops around a core nothing probabilistic touches.
Classic KCS ran two loops. The AI era needs three: around a system of record that compounds while AI layers come and go.
- 01CaptureA resolved case already contains the article; AI drafts it; your agent flags it in 30 seconds.
- 02CurationThe human gate: approve, edit-approve, merge, reject; edit-distance logged, quality measured.
- -System of recordVersioned, typed, owned, lifecycle-dated. Nothing probabilistic writes here without passing the gate.
- 03DeliveryCited answers from governed content, delivered to humans and machines; every unanswered question fed back as a capture request. The loop closes itself.
Measured issue-centrically: blended cost per answer across every channel, not deflection.
# the loop, as the system logs it · one article's afternoon (example events, JSON Lines)
{"ts":"2026-08-11T14:02:11Z","event":"case.resolved","case":48112,"theme":"api-keys"} {"ts":"2026-08-11T14:02:19Z","event":"draft.created","draft":"atk-2041-r3","source_case":48112,"actor":"ai"} {"ts":"2026-08-11T14:02:44Z","event":"agent.flagged","draft":"atk-2041-r3","verdict":"worth-keeping","seconds_spent":28} {"ts":"2026-08-11T15:37:02Z","event":"curator.approved","draft":"atk-2041-r3","edit_distance":0.08,"actor":"human"} {"ts":"2026-08-11T15:37:02Z","event":"record.published","id":"atk-2041","version":14} {"ts":"2026-08-11T15:41:56Z","event":"answer.cited","section":"atk-2041#steps","consumer":"copilot"} {"ts":"2026-08-11T15:44:13Z","event":"gap.logged","question":"export rate limits?","cluster":17,"action":"capture.requested"}
# the only write to the record follows the human approval at 15:37:02. Always.
# measured issue-centrically: blended cost_per_answer across every channel, not deflection.
03 / machine-ready knowledge
The new reader never sees the page.
The agent-assist panel, the help-centre chatbot, the copilot your enterprise customers wired into their own service desk; increasingly the reader of your knowledge is a machine assembling an answer for a human who never sees the article.
Machine-Ready Knowledge is the bar. We maintain it as an open standard: four clauses, free to adopt.
# example front matter of a conforming article
--- id: atk-2041 # §3 stable identifier title: Re-authorize a revoked API key applies_to: # §2 explicit applicability plan: [scale, enterprise] region: all owner: support-knowledge lifecycle: current verified: 2026-07-30 # §4 freshness signal sections: # §1 self-contained - id: atk-2041#cause self_contained: true - id: atk-2041#steps self_contained: true
04 / provenance
"Every artifact here was dogfooded in practice before it was sold. Twenty-plus years in the knowledge industry taught me one thing worth keeping: the boring core compounds."
Jason O'Donnell · author & practitioner
# schema.org Person: embedded in this page as application/ld+json
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Jason O'Donnell",
"jobTitle": "Author & practitioner",
"description": "Twenty-plus years in the knowledge industry; ten-plus running KCS programs at scale. Every Contextkeeping artifact is dogfooded in practice before it is sold.",
"sameAs": ["https://www.linkedin.com/in/acdntlpoet"],
"worksFor": {"@type": "Organization", "name": "Contextkeeping",
"url": "https://contextkeeping.com"},
"knowsAbout": ["Knowledge-Centered Success",
"knowledge operations",
"AI-assisted support knowledge"]
}
05 / run it yourself
Adopt the operating model. Keep the receipts.
Everything here is built to be run without me. The operating model lays out the roles, the gates, the cadence, and the cost-per-answer P&L an executive actually owns; the Toolkit packages the working instruments (templates, prompts, gate checklists, the measurement workbook) so your team starts from artifacts, not slides.
Want to place yourself first? The maturity model is a one-page self-assessment, free, no email required.
# adoption, as data
adoption: path: self-serve doctrine: free # essays, maturity model, MRK-1.0 operating_model: /operating-model instruments: /toolkit # templates, prompts, gates, workbook place_yourself: /downloads/contextkeeping-maturity-model.pdf
06 / the build log
What shipped, with the receipts attached.
The essays argue. This is the record of the operating model actually running (real files, real commits, real screenshots) and the instrument each entry exercises, so you can run the same thing yourself. Nothing here is a cadence promise: entries land when something real does.
| Date | Shipped | Receipt | Run it yourself |
|---|---|---|---|
| 2026-09-08 | Build log 04 · Two kinds of oldVolatility vs staleness; the date that refused to move. | verified: 2026-09-08 record: ck-field-notes-4 | Governance Pack$39 · lifecycle policy |
| 2026-09-08 | The MRK specimenOne real article, conforming, with the command that proves it. | check-jsonschema → ok schema: mrk-1.0, as served | Article Template Pack$59 · five typed templates |
| 2026-09-08 | Build log 03 · The gap loop, on a clockRefusal to validated object in under a day. | source: CAND-20260809-232551 object: KO-000011 | AI Prompt Library$49 · the capture loop |
| 2026-09-08 | Build log 02 · The validation gate in actionThe gate, the lifecycle, R1–R6 as telemetry. | validate: 175/175 valid codes: R1–R6 | Curation Gate Kit$59 · reason codes |
| 2026-09-08 | Build log 01 · The git-backed system of recordEvery gate action is a commit. | store: 167 objects · 308 commits since: 2026-08-09 | One issue, end to endfree · the walkthrough |
Dates on this estate move only when a human re-verifies the content. The ledger is history: the one signal that cannot go stale.
# the ledger, as data · history, not freshness
ledger: - date: 2026-09-08 shipped: Build log 04 · Two kinds of old url: /field-notes/two-kinds-of-old receipt: {verified: 2026-09-08, record: ck-field-notes-4} run_it_yourself: {sku: governance-pack, price_usd: 39} - date: 2026-09-08 shipped: The MRK specimen url: https://machinereadyknowledge.com/specimen receipt: {check-jsonschema: ok, schema: mrk-1.0.schema.json} run_it_yourself: {sku: article-template-pack, price_usd: 59} - date: 2026-09-08 shipped: Build log 03 · The gap loop, on a clock url: /field-notes/gap-loop receipt: {source: CAND-20260809-232551, object: KO-000011} run_it_yourself: {sku: ai-prompt-library, price_usd: 49} - date: 2026-09-08 shipped: Build log 02 · The validation gate in action url: /field-notes/validation-gate receipt: {validate: 175/175, codes: R1-R6} run_it_yourself: {sku: curation-gate-kit, price_usd: 59} - date: 2026-09-08 shipped: Build log 01 · The git-backed system of record url: /field-notes/system-of-record receipt: {objects: 167, commits: 308, since: 2026-08-09} run_it_yourself: {free: /one-issue} full_log: /field-notes # entries land when something real does; no cadence promised