Improvement log

Append one line per observation. Don't fix anything — just record it.

Format: - CATEGORY: path/or/subject: observation

Use a short uppercase category prefix that names why the item belongs in the log, such as ABSTRACTION, SYNTHESIS, DUPLICATION, CONTRADICTION, or FIX. Use a file path when one artifact is the clear target; otherwise use a bracketed subject list.

  • ABSTRACTION: [agents-md-should-be-organized-as-a-control-plane, context-engineering, why-ai-systems-dont-learn-and-what-to-do-about-it source] share unnamed structure: control-plane abstractions recur at repository, prompt, and learning-architecture levels, but the transfer conditions between those levels are not yet named
  • SYNTHESIS: [three-space-agent-memory-maps-to-tulving-taxonomy (content-type axis), multi-agent-memory-computer-architecture-perspective source (hierarchy-level axis)] — two independent decompositions of agent memory from different traditions (cognitive science vs computer architecture) that together predict a two-axis taxonomy: content type x hierarchy level
  • SYNTHESIS: [superarc source (recursive compression), esolang-bench source (code generation OOD), pathway-sudoku source (constraint satisfaction), ebrahimi induction-bias source (state tracking)] — four sources now converge on "LLMs score near zero on well-specified problems that strip training-distribution shortcuts"; SuperARC adds a fourth independent domain with the strongest methodology (AIT-grounded, mathematically proven equivalence between compression and prediction)
  • ABSTRACTION: [context-efficiency-is-the-central-design-concern-in-agent-systems.md, tool-loop-index.md, process-structure-and-output-structure-are-independent-levers.md, kb/agent-memory-systems/agentic-memory-systems-comparative-review.md] share an unnamed claim that filesystem-native tool use is a high-reach long-context strategy because it externalizes semantic overflow into executable process structure
  • SYNTHESIS: [Huxley-Godel Machine connect, diagnostic-richness/oracle-strength cluster]: outer-loop harness search may need archive-objective alignment in addition to oracle strength and diagnostic richness; HGM frames the model as oracle strength, diagnostic access quality, and archive-selection objective
  • SYNTHESIS: [externalization unified review connect, context-efficiency-is-the-central-design-concern-in-agent-systems.md, deploy-time-learning-is-the-missing-middle.md, agent-runtimes-decompose-into-scheduler-context-engine-and-execution.md, skills-derive-from-methodology-through-distillation.md]: externalization may reframe context engineering as cognitive burden relocation; the KB has the pieces but not this mechanism as a named frame
  • SYNTHESIS: [LLM memory connect, agent-memory-requirements/evaluate-memory-by-effects.md]: memory evaluation may have a ground-truth horizon, degrading from direct recall toward arc change, supersession, temporal correctness, and significance recognition
  • ABSTRACTION: [Stash connect, service-owned memory backends]: service-owned memory backends may need typed-role analysis by storage substrate, extraction schema, validation gate, activation mechanism, and typed operational objects
  • ABSTRACTION: [Stash connect, hypothesis records]: hypothesis records may be a distinct memory lifecycle; the Stash review captures hypothesis lifecycle as a borrowable idea, but the KB lacks a general workshop/library treatment
  • ABSTRACTION: [mark-semantics.md, stale-indexes-are-worse-than-no-indexes.md, status field on notes (unenforced trust mark), ADR 025 (retired denormalized indexes)] — candidate theory underneath mark semantics: derived assertions over recomputable ground truth share one shape (hint-vs-guarantee: false-absence costs a query, false-presence is silently unbounded, so assertions are enforced-or-omitted, and dropping one degrades to recomputation). Likely siblings outside the KB: caches and materialized views, gradual typing's hint/guarantee divide, checksums, freshness stamps. Second in-corpus instance found by connect (2026-06-10): keep-compiled-views-aligned.md states the compiled-view source-of-truth requirement the mark rule instantiates (edge now authored from mark-semantics). Needs more instances before naming — watch the next mark added to the type system, the unenforced status: maturity field (it earns trust without a validator — does it bite?), and external systems in agent-memory reviews carrying confidence/validation metadata
  • ABSTRACTION: [AGENTS.md python3 rule, ephemeral-computation-prevents-accumulation.md, spec-mining-as-codification.md] — agents run stdlib throwaway scripts as inline heredocs and discard them; a designated home for ephemeral helper code would create the accumulation substrate the ephemerality notes predict is lost (a recurring script is spec-mining input for a future commonplace-* command per progressive-constraining). Needs design before adopting: location (workshop-style scratch dir vs scripts/), committed vs gitignored, lifecycle/expiry so it stays a substrate rather than a junk drawer, and what recurrence signal trips promotion to a real command
  • ABSTRACTION: [cp-skill-write traits list, write-agent-memory-system-review contract reads, AGENTS.md.template x2, mark-semantics.md] — hot-path instructions need hardcoded copies of contract values for context economy (frontloading), but an unvalidated copy is an unenforced compiled view that drifts; the 2026-06-10 skill edits chose read-the-contract (paying a file load per invocation) when frontload-plus-drift-validator dominates both. Design sketch: machine-locatable frontloaded regions (a marker naming the source, like the old generated-tail marker but commit-time-checked), a derivation rule per region (extractable lists are checkable; prose summaries are not), and a validator that re-derives, compares, and names the fix. Trivial first case: the two tracked AGENTS.md.template copies must be identical. Third and fourth instances of the derived-assertions-over-recomputable-ground-truth candidate theory
  • SYNTHESIS: [external inquiring-line "How can agents distinguish over-generalized lessons from genuinely useful long-tail knowledge?" (inquiringlines.com), an-accepted-edit-verifies-the-change-not-the-rule.md, trace-extracted-memory-earns-authority-per-operation-not-at-capture.md, first-principles-reasoning-selects-for-explanatory-reach-over.md] — external note poses the abstract-vs-preserve question (when should an agent generalize a stored experience into a broad lesson vs preserve a rare fact verbatim) but assembles five mechanisms (SkillRL, Reflexion, feedback decomposition, process verification, VOYAGER) without resolving it; our KB already supplies the discriminator as the verify→distill rung transition — a success is instance-verified and replayable verbatim, a lesson abstracted from a failure is a rule that has not earned rule-level authority and must be re-verified, and "boundaries of where the rule holds" is the reach property re-verification establishes. Connect found one genuine gap: process verification / process reward (the 32%→87% bullet) has no notes-level home, only kb/sources/ survey ingests — candidate for a future note under the verify rung. Workshop closed without promotion (synthesis already distributed across the three notes)
  • FIX: [ADR 030 batch endpoints, Claude Code dynamic workflows] — first harness-orchestrated review run executed end-to-end (2026-06-12): selector -> two prepared batches -> workflow with one reviewer agent per batch (parallel, ~52s) -> ingest; 4 (note, gate) pairs recorded, zero Python changes needed. Frictions observed: workflow args input did not reach the script (inlined data as workaround); deterministic endpoints must run in the parent conversation because the script sandbox has no shell (an in-script sweep loop is impossible — parent interleaves rounds); no token telemetry lands on the runs (harness reports usage per workflow, not per run; ingest accepts none); the recorded model partition is the orchestrator's unverified assertion. The agent({schema}) option means the structured-output-codec proposal's trigger is now arguably met for the workflow medium
  • FIX: [kb/sources, self-improving-systems cluster] — four literature citations added from model memory, pending proper snapshot+ingest (session egress policy blocked arxiv.org, dl.acm.org, and university hosts): Zinkevich, "Online Convex Programming and Generalized Infinitesimal Gradient Ascent" (ICML 2003); Ailon, Chazelle, Clarkson, Liu, Mulzer, Seshadhri, "Self-Improving Algorithms" (SICOMP 2011, arXiv:0907.0884); Weyns, "Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges" (Handbook of Software Engineering, 2019); Petrovska, Erjiage, Kugele, "Defining Self-adaptive Systems: A Systematic Literature Review" (arXiv:2505.17798). When on a network-open system, run cp-skill-snapshot-web + cp-skill-ingest for each and repoint the inline citations in kb/notes/definitions/self-improving-system.md and kb/notes/a-proposal-selection-loop-requires-search-evaluation-and-retention.md from external URLs to the local ingests
  • FIX: [kb/reference/proposals/, ADR 056, kb/reference/types/adr.md] — proposal disposal was unspecified: ADR 028 named the adoption transition but no disposal operation, so eight July 2026 decisions split between six deletions (each with a properdocs.yml redirect to the adopting ADR — a convention invisible to rg over kb/ and to a shallow clone, which made the first audit undercount by five) and two ad-hoc retention banners. Resolved by archiving decided proposals to proposals/archive/ as a link sink, with extraction obligatory before the move, re-extraction rather than an inbound link as the repair, and provenance demoted from link to title mention; ADRs from 2026-07-25 must carry ## Considered alternatives to absorb what the demoted pointer used to reach. Two observations worth watching: the alternatives requirement could not be schema-enforced (4 of 56 ADRs carry alternatives prose, none as a heading, so a required heading fails the corpus at fail-by-default severity), so it follows the operativity-path precedent as dated prose; and the archive boundary — no links into archive/ except from archive/ and kb/work/ — would be the KB's first fully mechanical lifecycle rule if the check is ever built. Discussion summary in kb/work/lifecycle-management/lifecycle-model.md
  • ABSTRACTION: [oracle-strength-spectrum.md, weakly-discriminated-qualities-tend-to-be-underselected.md, reflection-buys-addressability.md, accumulation-counts-dependence-through-the-retained-result.md, self-improvement-is-relative-to-a-declared-objective.md] — the cluster's profile dimensions (addressability, cumulativity, reflective coverage, computational autonomy) look like objectives but are proximate targets: proxies adopted because the improvement objective is not measurable at the moment of decision. Nobody wants coverage; they want the artifacts to get better, and coverage is held to serve that. The KB already theorizes proxy-ness for checksoracle-strength-spectrum names oracle strength as "the gradient underlying the exact-spec/proxy-theory distinction", and weakly-discriminated-qualities gives the failure mode (weakly discriminated qualities lose to strongly verified ones) — but only for things that yield a verdict. A structural property adopted as a target has no oracle at all: "all tests pass" is checked, "stay addressable" is not. That is the gap. Two consequences already visible. (1) It narrows the objective-revision open question in self-improvement-is-relative-to-a-declared-objective.md: revising a proximate target is settled by the objective it stands in for — does the new gate track artifact quality better? — an ordinary empirical question with no meta-criterion, so the regress bites only on endogenous revision of the objective itself. (2) It makes the dimensions-as-goals move contestable rather than licensed: whether coverage serves artifact quality is a claim that can be false. Live exposure in this repo: if artifact quality is weakly discriminated by the actual gate while structural validity and link health are strongly verified, the strongly-verified properties win regardless of intent. Route not taken: a second "adaptation goal" objective level borrowed from the self-adaptive-systems domain-goal/adaptation-goal split (Petrovska et al.), deflated because those goals are instrumental to the objective rather than a second objective — the salvage from the profile note's Petrovska paragraph, which is otherwise redundant and pending deletion. Before naming, settle what makes a structural property a good proxy and how you would discover it was not; and note that "proximate target" would read as a near-synonym of "oracle" unless the check-versus-property daylight is stated.
  • FIX: [Ma et al. prompt-stability citations] — five notes cite the arXiv URL directly although kb/sources/ has held the snapshot and ingest since 2026-03; repo-wide decision needed on repointing inline external citations to local captures (surfaced by the llm-output-deviation connect pass)
  • FIX: [constraining cluster, llm-output-deviation-has-three-sources-with-non-substitutable.md] — four notes still cite the two-phenomena model (agentic-systems-interpret-underspecified-instructions) as their deviation foundation; none cites the three-source synthesis that supersedes it as taxonomy
  • CONTRADICTION: [llm-code-boundaries-are-natural-checkpoints.md, llm-output-deviation-has-three-sources-with-non-substitutable.md] — checkpoint note claims both LLM-side properties collapse at an LLM→code crossing, but under the three-object model interpretation error crosses intact: a wrong-but-well-typed value passes the boundary, the very case the note's own debugging advice depends on catching
  • FIX: [full-pass 20260818T115050Z-b196, kb/instructions/run-full-improvement-pass-on-note.md] — the pass's keep-reframe repaired a defeated universal title ("conjecture is seeing the particular as an instance of the general") by narrowing the subject into the predicate's own extension, producing an analytic title that passed every closing gate including claim-strength, which reads the title against the note's own local definition. The report recorded warranted contribution as "weakened" but nothing fails on that field, so the loop had no brake. Inbound citers revealed the real contribution — recognition cost and naming-amortization, both cut or hedged by the repair — so the note was rebuilt as recognition-not-linking-is-the-hard-problem-in-knowledge-systems.md and the failure named in narrowing-bought-to-survive-review-is-paid-for-in-content.md. Two mechanizable guards fall out and are not yet built: a refuter test in the closing cycle (after narrowing, name a case that would still refute the claim — an analytic claim cannot answer), and a citer check (a repair that drops what inbound citers import has repaired the wrong thing). Open design question: whether a "weakened" warranted-contribution verdict should be able to fail a pass the way a gate does
  • FIX: [full-pass 20260818T132531Z-e11d99, narrowing-bought-to-survive-review-is-paid-for-in-content.md] — first application of the refuter and citer guards to a second keep-reframe, and they discriminated rather than firing on everything. Refuter test passes: "LLM output deviation requires three-way diagnosis" keeps an independently identifiable subject, and a two-question-suffices result or a fourth in-pipeline relation would refute it — the KB even holds a two-source rival in llm-debugging-starts-with-retry-versus-rewrite-triage.md. Citer test found two summaries still asserting the globally defeated "properties of different objects" premise (computational-model-README.md, llm-reliability-README.md) plus one "only error correction addresses this source" overclaim, all now reconciled. One residual the guards do flag and this pass routed but did not settle: non-substitution was weakened from "acts on exactly one object" to "primary target" plus "does not guarantee", and if "complete repair" just means "repairs the primary defect" while each remedy is identified by its primary target, that supporting claim drifts toward analytic even though the title does not. Worth one worked comparison rather than another qualifier
  • FIX: [llm-output-deviation-requires-three-way-diagnosis.md] — the analytic-versus-operational residual left open by pass 20260818T132531Z-e11d99 is closed with a worked comparison rather than a qualifier. Writing it surfaced a third outcome the note had not separated: besides repair (the intervention reaches the defective relation) and failure to reach it, an intervention can mask a defect — lowering temperature concentrates D on an admissible point inside I while V stays wide, so behavior looks acceptable and nothing was repaired. Masking is separable from repair by perturbation: a masked defect returns when its masking condition lapses, a repaired relation does not. That is what makes non-substitution empirical, and the refuter test is what caught it — the first draft claimed an intervention "restores acceptable behavior only if it reaches the defective relation", which the note's own temperature example refutes
  • FIX: [link-graph-plus-timestamps-enables-make-like-staleness-detection.md] — footer uses labels foundation and motivates, which are not in the current kb/notes/COLLECTION.md authorized set; surfaced by the domain-pricing note's connect pass. Reconcile the labels or the contract
  • FIX: [machine-studying-ontology workshop, machine-studying.ingest.md] — workshop closed 2026-08-19 with all seven ledger candidates dispositioned (full ledger record in commit 25895a9f, directory deleted after). Adopt: evidence-timing boundary, as the capture signal-timing sub-axis in memory-design-adds-operational-axes-to-artifact-analysis.md (corpus-only vs task/reward/demonstration/trace-conditioned; self-posed questions stay pre-task, self-mined traces do not). Translate: machine studying (deploy-time adaptation restricted by evidence timing — a regime and protocol, not a new category), expertise (activation-constrained action capacity; retrieval-controlled evidence and the across-budget open question promoted to knowledge-storage-does-not-imply-contextual-activation.md), three intervention families (representational-form placements of the retained change). Merge: agent as model plus harness (convergent evidenced-by on the-deployed-system-not-the-model-is-the-unit-of-learning.md), studying algorithm (the definition-update relation of instantiation-alone-cannot-model-agent-learning-across-sessions.md). Defer: studying intelligence (second-order scalar with no current consumer; the across-budget open question is the revisit hook). Side outputs exceeded the charter: the second ledger row spawned the instantiation note, the domain-pricing criterion note, ADR 066's claim modes, and six OO-attestation ingests
  • FIX: [ADR 066 validation series, kb/work/popperian-maintenance-episode/adr-066-test-runs.md] — the modality machinery ran 23 full passes covering 21 of 22 surveyed candidates and accepted zero in-pass mode conversions. Both guards bound and rejected (statistical at run 9, ideal-type adequacy at run 14), so the cause is warrant availability, not guard strictness: instance-shaped defeats dominate the corpus, counterexamples cannot license a mode landing, and they route scope, category, and conditionality repairs instead. The survey's per-note class labels were falsified as predictions wherever tested. Run 23 surfaced a third disposal route the design did not anticipate — the prose gate's pseudo-formalism check stripped an unlabelled idealization (a scalar cost measure) before any modality question was asked, so an idealization carried by undischarged formalism never reaches the guards at all. Two coverage gaps stay open and are now candidate-starved rather than blocked: an accepted statistical landing with a numeric refuter, and an accepted in-pass ideal-type conversion
  • FIX: [full-pass 20260821T115349Z-a7c2, bounded-context-orchestration-model.md] — the pass retracted the note's universal head ("the model captures the full space of such architectures" became a scoped conditional) but initially reconciled zero citing files, despite 323 historical mentions and no citer-reconciliation record in the pass reports. The follow-up sweep audited 75 files holding 119 direct Markdown links and reconciled 26 live artifacts: five importing universality or unsupported effectiveness, then twenty-one importing retired P/K + r/scalar-M notation, unbounded-state language, or prescriptive force. The latter include the select/call lemma, tool-loop and context-engineering definitions, context- and scheduler-facing notes, relevant source ingests, and active workshops. The remaining live citers use the retained conditional normal form or its components. The dated Cordis original and premise-cohort capture retain the old language as historical evidence. Fourteen Open items originally stood unactioned under the one-cycle protocol. The most consequential, a GLOBAL closing defeat showing that the singular loop serializes an independent parallel batch and doubles barrier latency, was cleared by operator direction on 2026-08-22: select(K) now emits a finite nonempty independent batch B, call_all(B) preserves concurrent execution through an explicit barrier, and transition(K, B, R) incorporates the aligned results; singleton batches recover sequential workflows. The conversion lemma preserves call specifications, batch membership, and barrier order and is now titled for the barrier-delimited class it proves. Eighteen live dependents were reconciled while the closing report and dated captures retain the defeated form as historical evidence. Thirteen Open items remain
  • SYNTHESIS: [what-is-stored-in-this-kb workshop (belief/choice boundary), llm-executed-methodologies-are-metacircular-interpreters.md, a-framework-rule-with-a-boundary-preserving-rival-is-not-inherited.md, kb/articles/COLLECTION.md] — the publishability requirement on kb/notes/ states itself in basic computation vocabulary: a note may name a Commonplace choice only as a bound variable, universally quantified ("for any system that chooses X, Y follows") or existentially as a witness ("at least one system does X, so X is feasible"); a free occurrence is a claim whose truth conditions silently depend on a local selection, and it does not survive publication to the articles collection's stated audience of readers with no KB context. Deferred conjecture, scoped out of the storage workshop on 2026-08-22 as a side quest: binding a choice-variable may be exactly what makes a theory executable by a system other than the one that authored it, so publishability and portability-of-execution would be the same property under two names — which would also give the free/bound distinction an operational reading rather than a stylistic one. Lands beside the metacircular-interpreter note, not in the workshop; the rival test is the existing detector for the defect and demote-to-defaults is one worked binding move. Open before it could be promoted: whether a free choice-variable is detectable more cheaply than a Level B semantic judgment, and whether existing notes already pass or the requirement prescribes a migration
  • STALE-CACHE: Exceeding a review budget splits the task: a dated "Current state" bullet restated an implementation fact (consumed-cost measurement "not yet built") and was wrong within a day of the commit that built it; content-routing row 9 says such facts are not retained — proposals' current-state sections may need to point at commits or symbols rather than restate status
  • FIX: [full-pass 20260826T115728Z-a18058, naur-binds-theory-to-humans-via-premise-that-machines-follow-rules.md, kb/instructions/run-full-improvement-pass-on-note.md] — editorial drift traced across one note in one day (2026-08-26). Motivation: Naur's human-only theory-holder rests on a premise an LLM contests. First draft (cp-skill-write, against the ingest's five retained quotes) overgeneralized to all "irreducibility" arguments and asserted the human premise was "assumed", a source-wide claim. The pass correctly defeated both (premise GLOBAL via a computability counterexample; grounding-alignment FAIL) and reframed to "Naur's retained passages do not establish a human-only theory bearer" — the claim shrank to the evidence base, because step 7 can narrow a claim but has no operation to extend grounding (cp-skill-ground is outside the pass), and grounding-alignment treats the retained quotes as the fixed evidence. Reading the full snapshot afterwards showed the human binding is argued, from machine = rule-following (§2, §5, §6, §8); four grounding runs (5 → 18 quotes) let the note return to its motivation, stronger than the first draft. Commits def1280a, 4d707961 hold the drifted versions. Distinct from the subject-narrowing escape in narrowing-bought-to-survive-review-is-paid-for-in-content.md: here the subject stayed, the evidence scope became the qualifier.
  • FIX: [full-pass 20260826T154716Z-3fa27b, unformalized-improvements-need-a-pre-formal-stage-in-the-loop.md, kb/instructions/run-full-improvement-pass-on-note.md] — the pass reframed the note to "Formal-only gates have distinct admission and warrant limits" on four GLOBAL premise defeats (L* automata learning, a grammar-enumerating generator, a formal disjunction) whose counterexamples all place the concept inside an admitted formal language, while the note's antecedent was a concept with no expression in any admitted language; the defeats equivocate on "unformalized". The bite rule adopted at 18:53 would not have caught it (premises were DEFEATED, not DOUBTFUL). Reframe reverted; thesis restored with the antecedent sharpened and the reframe's gains merged; bite paragraph gains the clause that a DEFEATED premise bites only if its counterexample meets the antecedent under the note's own definitions. Sixth episode in kb/work/popperian-maintenance-episode.
  • FIX: [ADR 082, kb/work/atomic-step-adoption (closed 2026-08-27)] — grounding is now bounded on the artifact: at most five distinct tracked sources per note without a paired verbatim quote, enforced by commonplace-validate (FAIL); the three link-following gates lost their reader-side caps for a head-first rule; ADR 079 superseded; four review-side proposals archived. The eight notes over the bound at adoption were conformed the same day from already-retained quotes (2–10% word growth, no splits, no new grounding runs).
  • STALE-CACHE: [the-risks-of-invariant-risk-minimization.ingest.md, concept-bottleneck-models.ingest.md] — both snapshots were "extended in place with a body extraction" after capture, so they are condensations, not captures: their retained quotes are verbatim to the snapshot but not to the paper (the IRM snapshot's abstract is an agent's summary, not the arXiv abstract). Snapshots are immutable, so the fix is a re-ingest under a new snapshot basename; until then a note quoting either source discharges the ADR 082 bound against summary text. Found 2026-08-27 while conforming the eight notes.
  • OBSERVATION: [src/commonplace/lib/quote_verification.py _citation_ranges] — the citation-range heuristic scans back to the nearest ( before a link, so (a) a bare inline link after an earlier parenthetical citation in the same paragraph swallows any quotation between them, and (b) a parenthesis inside a quoted span ((conservative), Ŝ(E)) mis-anchors the range and orphans the verbatim marker onto a later link. Two conformance edits on 2026-08-27 had to restructure paragraphs to work around it; a parser fix would remove the sharp edge.
  • OBSERVATION: [goedel-machines-are-a-proof-governed-case-of-self-modification.md] — pre-existing verbatim-quote FAIL at line 32 (span not found in goedel-machines-schmidhuber.ingest.md's Quotes section); the only failing note in kb/notes as of 2026-08-27.