Every repo that uses okl keeps a thesis: set it up, keep it true, let it evolve
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 15/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- developer-experience, documentation
Direzione di ricerca
This is a design issue, and the questions under 'Decide after step one' are still open, so settle those with the maintainer before writing code. Step one is to draft docs/THESIS.md for okl itself, listing every promise in the README, docs and site with its status and evidence, and to correct copy that overclaims, such as the 'each entry is proven by a check' line. Done when every promise is listed with evidence and a test fails when the headline or a figure moves without the thesis.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #317. Builds on #238 (a pinned lesson), #319 (figures held to receipts) and #314 (doc claims).
Why. okl keeps lessons true to the code. A repo's overarching goal drifts the same way, and nothing watches it. On okl itself (2026-11-01), an inventory of the README, the other docs and the maintainer's site found about 90 distinct promises about what okl does. The thesis page tracked about 10 of them. Several docs promised more than the evidence shows: "each entry is proven by a check", when 71 of the 155 lessons recorded here have one; and "so they cannot drift silently", when drift caught 14 of 36 judge-confirmed breaks (REPORT §4af). The goal had spread across copy, and no single page held it.
What a thesis is. One page per repo, docs/THESIS.md. It is the primary record of the project's scope: other copy describes from it, and a wider direction is added beside existing promises, never in their place. It holds:
- the claim, in one line;
- the problem it answers, and the principles that hold throughout;
- what the project holds, what it watches, and what it leaves to other tools;
- every promise it makes, each with its status (built, partly, in review, direction) and its evidence;
- a measured baseline;
- a history of how the claim changed, and why.
Proposal. Every repo that uses okl keeps one, in four parts:
- Set up. A guided step, offered by
okl init, as a command and an agent skill. It drafts a starter thesis from what the repo already has: the README's headline, its docs, its ADRs, its CI checks and its lessons. It asks the person to confirm the claim and what is in scope, writes the page, links each promise to the lesson or check behind it, and pins the claim (#238) so every session starts from it. - Kept true. Each promise is linked to its evidence.
okl driftandokl recaplist promises with no evidence, and evidence that has moved. A figure test like #319 fails when a number on the page leaves its receipt. - Evolves. As the work goes on, the session-end question and
okl recapsuggest changes to the scope: a new doc, command or feature that no promise covers; copy that promises something the thesis does not; a promise whose evidence went stale. The agent proposes, the person decides, and the history records why. - The principles still hold. okl notices mechanically and calls no generative model in its own loop. Reading prose for promises is the agent's work in the session, from a skill okl ships. Every change is deliberate and visible.
Step one: do it on okl.
docs/THESIS.mdbecomes the primary record of okl's scope, listing every promise the README, the docs and the site make, with status and evidence. Drafted after #312 merges.- The claim is pinned (#238), or until then sits in
CLAUDE.md. - Each promise is linked to the lesson or receipt that backs it.
- #319's figure test lands.
- What had to be done by hand, and what could be mechanical, is written down.
Decide after step one. Whether a thesis is its own record type or a pinned Decision plus a page; how a promise links to its evidence (an edge type, or the page's table); what okl init writes; and how the agent is told to guide the person through it.
Done when (step one).
- okl's thesis lists every promise its README, docs and site make, each with a status and evidence.
- Copy that promises more than the evidence is corrected, or the thesis says why it stands.
- A test fails when the headline or a figure moves without the thesis.
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 1
- Merge medio
- 6h 1m
- PR unite (30g)
- 121
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di emeraldleaf/okl
-
enhancement loop-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
emeraldleaf/okl#190 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
emeraldleaf/okl#147 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
emeraldleaf/okl#398 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
emeraldleaf/okl#395 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 24/100
emeraldleaf/okl#394 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di emeraldleaf/okl
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
cunla/fakeredis-py#636 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
opensafely-core/job-server#6180 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:models enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
newrelic/newrelic-python-agent#1913 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno