diff --git a/README.md b/README.md index 14a85ae..573ece3 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,11 @@ This repository is currently a documentation and research seed. Start with: - [Paper registry](research/registry/papers.yaml) — authoritative index of registered papers, currently just `CR-000` (Paper Zero, RP-000). -M0 ([research facility skeleton](workplans/CR-WP-0002-research-facility-skeleton.md)) -and M1 ([Paper Zero v0.1 manuscript](workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md)) +M0 ([research facility skeleton](workplans/CR-WP-0002-research-facility-skeleton.md)), +M1 ([Paper Zero v0.1 manuscript](workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md)), +and a first pass of M2 ([claim/evidence discipline](workplans/CR-WP-0004-claim-evidence-discipline.md)) are implemented. The next implementation is -[M2: claim/evidence discipline](workplans/CR-WP-0004-claim-evidence-discipline.md). +[resolving CR-000's outstanding criticism](workplans/CR-WP-0005-resolve-outstanding-criticism.md) +before M3 is judged ready. There is no application to install, test, build, or run yet. For documentation changes, run `git diff --check` and review links, YAML, and work-record structure. diff --git a/SCOPE.md b/SCOPE.md index bd0bb5f..70bc42d 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -33,12 +33,16 @@ establish scientific validity or publication readiness. ## Next Work -M0 and M1 are implemented (`workplans/CR-WP-0002-research-facility-skeleton.md`, -`workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md`, both finished): the -artifact convention, `RP-000`/`CR-000` skeleton, paper registry, and a -coherent CR-000 v0.1 manuscript exist. `CR-WP-0003`'s own self-criticism -found the implementation still document-centric and only self-criticized -(`CR-000-X001`, `CR-000-X002`); `workplans/CR-WP-0004-claim-evidence-discipline.md` -owns M2 (independent criticism, real evidence linkage, and a response to -the document-centrism criticism). The bootstrap workplan is -`workplans/CR-WP-0001-statehub-bootstrap.md`. +M0, M1, and a first pass of M2 are implemented +(`workplans/CR-WP-0002-research-facility-skeleton.md`, +`workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md`, +`workplans/CR-WP-0004-claim-evidence-discipline.md`, all finished): the +artifact convention, `RP-000`/`CR-000` skeleton, paper registry, a +coherent CR-000 v0.1 manuscript, first evidence entries, a minimal +claim/evidence/criticism query prototype, and CR-000's first independent +criticism all exist. That independent review found a real +internal-consistency violation self-criticism had missed +(`CR-000-C006`, now `contested`) and left several items open. +`workplans/CR-WP-0005-resolve-outstanding-criticism.md` owns resolving +those before M3 (CR-001 registration) is judged ready. The bootstrap +workplan is `workplans/CR-WP-0001-statehub-bootstrap.md`. diff --git a/research/programs/RP-000-researching-research/papers/paper-000/claims.md b/research/programs/RP-000-researching-research/papers/paper-000/claims.md index 674d7a7..21ddcd9 100644 --- a/research/programs/RP-000-researching-research/papers/paper-000/claims.md +++ b/research/programs/RP-000-researching-research/papers/paper-000/claims.md @@ -16,9 +16,17 @@ Each entry: claim text, state, provenance, and links. - **State:** conjectural - **Added by:** agent:claude-sonnet-5 — 2026-09-28 - **Discussed in:** `manuscript.md` §7 -- **Evidence for/against:** none yet -- **Criticism:** none directly; `CR-000-X002` bears on the general standard - of evidence this claim is held to. +- **Evidence for/against:** `CR-000-E002` — weak, double-edged evidence. + Agent-authored drafting/structuring occurred, but the coordination + function of deciding scope and approving output stayed human-mediated + throughout, which cuts against a strong reading of this claim. State + left `conjectural`, not upgraded, per `CR-000-E002`'s own assessment. +- **Criticism:** `CR-000-X002` bears on the general standard of evidence + this claim is held to. `CR-000-X005` (independent) challenges the claim + itself as unquantified and effectively unfalsifiable as worded + ("several," "coordination functions" undefined) — the first criticism + aimed at this claim's content rather than the evidence standard around + it. ## CR-000-C002 @@ -69,8 +77,17 @@ Each entry: claim text, state, provenance, and links. - **State:** conjectural - **Added by:** agent:claude-sonnet-5 — 2026-09-28 - **Discussed in:** `manuscript.md` §6 -- **Evidence for/against:** none yet -- **Criticism:** none yet +- **Evidence for/against:** `CR-000-E001` — weakly supports. The + `CR-WP-0002` → `CR-WP-0003` → `CR-WP-0004` sequence is a real instance + of recursive process revision, but confined to one paper, one + human/agent pairing, and one repository's short lifetime. State left + `conjectural`, not upgraded to `supported`, per `CR-000-E001`'s own + assessment. +- **Criticism:** `CR-000-X005` (independent) notes this claim had no + criticism attached prior to `CR-WP-0004`, alongside `CR-000-C001`, as an + example of self-criticism concentrating on infrastructure rather than + substantive claims. No content-level challenge to this specific claim + has been raised yet. ## CR-000-C006 @@ -78,13 +95,22 @@ Each entry: claim text, state, provenance, and links. > implementation until a concrete research artifact demonstrates a > specific, load-bearing need for them. -- **State:** conjectural +- **State:** contested - **Added by:** agent:claude-sonnet-5 — 2026-09-29 - **Discussed in:** `manuscript.md` §3.2 -- **Evidence for/against:** `manuscript.md` §3.2, §9 report that M0/M1 - needed no database, registry service, or on-chain component — a - consistent but very small data point, not independent evidence. -- **Criticism:** none yet +- **Evidence for/against:** none yet. Previously cited `manuscript.md` + §3.2/§9 (that M0/M1 needed no database, registry service, or on-chain + component); withdrawn per `CR-000-X004` — that is narrative assertion in + the manuscript, not an `evidence.md` entry, and citing it as evidence + conflates "actor asserts P" with "evidence supports P" + (`seed/CoulombResearchKernel.md` §4). No genuine evidence entry exists + for this claim yet. +- **Criticism:** `CR-000-X003` (independent) — the withdrawn evidence was + also circular: the absence of infrastructure was the enactment of this + principle, not an independent test of it. `CR-000-X004` (independent) — + category conflation between manuscript prose and a real Evidence object, + addressed above. Updated to `contested` on 2026-09-29 per + `revision-log.md`. ## CR-000-C007 @@ -117,11 +143,19 @@ Each entry: claim text, state, provenance, and links. Claim-state legend (per `docs/ResearchArtifactConvention.md` §4 and `seed/CoulombResearchKernel.md` §7): conjectural, active, contested, -supported, contradicted, superseded, unresolved. `CR-000-C002` and -`CR-000-C003` are the only claims currently `contested`; all others remain -`conjectural`. No claim in this paper is `supported` — CR-000 has no -evidence entries yet (`evidence.md`), which is itself the subject of §12's -report on this paper's first (partial) experiment. Mapping claims to -evidence with the discipline the M2 milestone requires +supported, contradicted, superseded, unresolved. `CR-000-C002`, +`CR-000-C003`, and (as of `CR-WP-0004` T01, on independent-criticism +grounds) `CR-000-C006` are `contested`; all others remain `conjectural`. +`CR-000-C001` and `CR-000-C005` now have linked evidence (`CR-000-E001`, +`CR-000-E002`, added under `CR-WP-0004` T02), but that evidence is +explicitly assessed as weak/preliminary in `evidence.md` and does not +justify upgrading either claim to `supported` — no claim in this paper is +`supported`. Independent criticism obtained under `CR-WP-0004` T01 +(`CR-000-X003`–`CR-000-X007` in `criticism.md`) found problems the +self-criticism in `CR-WP-0003` missed entirely — two internal-consistency +violations (`CR-000-X003`, `CR-000-X004`, both against `CR-000-C006`) and a +structural observation that self-criticism had concentrated on +infrastructure rather than claim content (`CR-000-X005`). Mapping the +remaining claims to evidence with the discipline the M2 milestone requires (`seed/CoulombResearchMilestonePlan.md`, M2 exit criterion) remains unresolved work; see `manuscript.md` §13, Q2. diff --git a/research/programs/RP-000-researching-research/papers/paper-000/criticism.md b/research/programs/RP-000-researching-research/papers/paper-000/criticism.md index bc8b712..8e5246e 100644 --- a/research/programs/RP-000-researching-research/papers/paper-000/criticism.md +++ b/research/programs/RP-000-researching-research/papers/paper-000/criticism.md @@ -3,13 +3,28 @@ Paper-local criticism entries for `CR-000`, addressable as `CR-000-X`. See `docs/ResearchArtifactConvention.md` §1.1 and §4. -Both entries below are self-criticism: raised by the same human/agent -pairing that authored the claims and manuscript text they challenge, during -the same workplan (`CR-WP-0003`). This is acceptable at publication stage -P1 (`seed/PublicationInterface.md` §4), but is a materially weaker signal -than independent criticism, and `CR-000-X002` says so explicitly rather -than letting the distinction go unstated. CR-000 has not yet received -criticism from any other actor. +`CR-000-X001` and `CR-000-X002` are self-criticism: raised by the same +human/agent pairing that authored the claims and manuscript text they +challenge, during the same workplan (`CR-WP-0003`). This is acceptable at +publication stage P1 (`seed/PublicationInterface.md` §4), but is a +materially weaker signal than independent criticism, and `CR-000-X002` says +so explicitly rather than letting the distinction go unstated. + +`CR-000-X003` through `CR-000-X007` are independent criticism, obtained +under `CR-WP-0004` T01 specifically to resolve `CR-000-X002`: they were +produced by a freshly spawned agent instance with no prior context of this +paper's authorship, no memory of writing `CR-000-C001`–`C008` or +`CR-000-X001`/`X002`, and no instruction about what conclusion to reach — +given only the paper's files and told to read them cold and critique +honestly. This is procedural independence (a distinct invocation, verifiably +without shared authoring context) rather than organizational independence +(a different person or institution); the reviewing agent runs the same +underlying model as the paper's authors. That distinction is stated here +rather than overclaimed. It is nonetheless the first criticism CR-000 has +received that was not shaped by having written the claims under review, and +it found problems the self-criticism missed — see `CR-000-X003` and +`CR-000-X004` in particular, which are internal-consistency violations, not +restatements of `CR-000-X001`'s infrastructure complaint. --- @@ -68,7 +83,151 @@ criticism model works. - **Critic:** agent:claude-sonnet-5 (with human:bernd.worsch), self-criticism - **Raised:** 2026-09-29 -- **Resolution state:** open — resolving this requires criticism from an - actor other than CR-000's own author-agent pair. Soliciting that is out - of scope for `CR-WP-0003` and is explicitly named as residual work in the - workplan's handoff. +- **Resolution state:** resolved — `CR-000-X003` through `CR-000-X007` + below are independent criticism (see the note at the top of this file for + what "independent" means and does not mean here), obtained 2026-09-29 + under `CR-WP-0004` T01. `CR-000-C004`'s underlying evidentiary weakness + is not thereby fixed — one instance of independent criticism is still a + small sample — but the specific gap this entry named (no criticism from + an actor other than CR-000's own authors) no longer holds. + +## CR-000-X003 + +**Challenges:** `CR-000-C006` + +**Criticism:** `CR-000-C006` (institutional functions should default to +not existing until a concrete artifact demonstrates a load-bearing need) +cites, as its own evidence, the observation in `manuscript.md` §3.2/§9 that +M0/M1 built no database, registry service, or on-chain component. But +those sections built nothing precisely *because* the authors were already +applying the institutional-minimality principle as a design choice — the +absence of infrastructure is the enactment of `CR-000-C006`, not an +independent test of it. Citing "we followed the principle and nothing +broke" as evidence for the principle is close to circular: it would be +real evidence only if minimality had been withheld as a null hypothesis +and something had then failed to emerge that was actually needed. +`claims.md`'s existing hedge ("a consistent but very small data point, not +independent evidence") gestures at this but understates it — the issue is +not smallness, it is non-independence by construction. + +- **Critic:** agent:claude-sonnet-5, independent review instance (fresh + session, no prior authoring context — see note at top of this file) +- **Raised:** 2026-09-29 +- **Resolution state:** open — resolving this requires either evidence + from a case where institutional minimality was tested against a real + need (something *was* required and its absence was felt), or narrowing + `CR-000-C006` to a claim about what was observed rather than a general + principle it is evidence for. + +## CR-000-X004 + +**Challenges:** `CR-000-C006`; the claims.md evidentiary practice more +generally + +**Criticism:** `docs/ResearchArtifactConvention.md` §1.1/§4 and +`seed/CoulombResearchKernel.md` §4 define Evidence as a distinct, +ID-addressable object type with its own provenance, and require +distinguishing "an actor asserts P" from "evidence E supports P" as +non-interchangeable categories. `CR-000-C006`'s "Evidence for/against" +field in `claims.md` points at `manuscript.md` §3.2/§9 — narrative prose +asserting a claim — not at an `evidence.md` entry, which for `CR-000-C006` +does not exist. This treats an actor's assertion as if it satisfies the +"evidence bears on proposition" relation without ever instantiating an +actual Evidence object, which is exactly the category conflation kernel §4 +warns against. It is a quieter version of the same failure the paper's own +draft-state banner disclaims for fabricated evidence: no evidence was +fabricated, but evidentiary weight was claimed for something that has not +cleared the paper's own bar for what counts as evidence. + +- **Critic:** agent:claude-sonnet-5, independent review instance (fresh + session, no prior authoring context — see note at top of this file) +- **Raised:** 2026-09-29 +- **Resolution state:** open — resolving this requires either adding a real + `evidence.md` entry for `CR-000-C006` (if one can be honestly written) or + removing the current "Evidence for/against" field content and marking it + `none yet`, consistent with how other under-evidenced claims in this + file are marked. + +## CR-000-X005 + +**Challenges:** `criticism.md` as a whole (its scope, not any single +entry); `CR-000-C001` specifically as an example + +**Criticism:** `CR-000-X001` and `CR-000-X002` both attack this paper's +process or architecture (document-centrism, self-authored criticism) — +criticisms that are comparatively cheap to make because they concede a +category of problem ("the field does this too") without questioning +whether the paper's substantive assertions are well-formed. Meanwhile +`CR-000-C001` ("AI reduces the need for several historically +human-mediated scientific coordination functions") is a strong, +unquantified predictive claim — "several" and "coordination functions" are +undefined — and carried no criticism of any kind before this entry, not +even a note questioning its scope or testability. `CR-000-C005` likewise +had no criticism attached at all before this workplan. A genuinely +adversarial self-review would be expected to produce at least one entry +questioning whether a claim is well-formed or falsifiable, not only +entries about missing infrastructure. As it stood going into `CR-WP-0004`, +this file read as criticism of the paper's infrastructure, not of its +ideas — a narrower and more comfortable target than the paper's stated +commitment to honest self-assessment implies. + +- **Critic:** agent:claude-sonnet-5, independent review instance (fresh + session, no prior authoring context — see note at top of this file) +- **Raised:** 2026-09-29 +- **Resolution state:** open — resolving this requires either sharpening + `CR-000-C001` (and similarly under-specified claims) into a testable + form, or explicitly accepting it as a deliberately loose, exploratory + conjecture and saying so in `claims.md` rather than leaving the + vagueness unaddressed. + +## CR-000-X006 + +**Challenges:** the Abstract in `manuscript.md` + +**Criticism:** Every substantive assertion in `manuscript.md` §1–§2 is +marked `[CONJECTURE]`, following the draft-state banner's own rule that +unlabeled text is not conjecture. The Abstract carries no `[CONJECTURE]` +tags, yet asserts an interpretive generalization beyond what §11 actually +supports: it treats one file-layout observation (flat Markdown vs. a +queryable graph) as evidence that "institutional minimality is easy to +state and hard to build" — a much broader design principle covering +databases, registries, governance, and on-chain components (§3.2, §9), +most of which this paper elsewhere reports worked fine without extra +infrastructure. Calling this a "central finding" gives a single +self-observed implementation detail the rhetorical weight of a result, in +a document whose stated norm is to separate conjecture from established +content. + +- **Critic:** agent:claude-sonnet-5, independent review instance (fresh + session, no prior authoring context — see note at top of this file) +- **Raised:** 2026-09-29 +- **Resolution state:** open — resolving this requires either narrowing + the Abstract's claim to the specific document-centrism observation it is + actually entitled to (not "institutional minimality" broadly), or adding + an explicit `[CONJECTURE]` marker to the generalization. + +## CR-000-X007 + +**Challenges:** `claims.md` provenance practice generally (not any single +claim's content) + +**Criticism:** `seed/CoulombResearchKernel.md` §4 states that "source +asserts P" and "actor asserts P" are not interchangeable, yet every entry +in `claims.md` — including claims that are close restatements of +human-authored source material (e.g. `CR-000-C006` is a direct operational +reading of `INTENT.md` principle 9) and claims that appear to be more +independent agent synthesis (e.g. `CR-000-C001`, `CR-000-C005`) — is +uniformly attributed `Added by: agent:claude-sonnet-5`, with no distinction +between transcribing an existing human-authored position and originating a +new one. `manuscript.md` §7 acknowledges the human retained approval over +what was committed, but approval is a different relation than authorship +of the proposition itself, and `claims.md`'s provenance field does not +currently capture that distinction. + +- **Critic:** agent:claude-sonnet-5, independent review instance (fresh + session, no prior authoring context — see note at top of this file) +- **Raised:** 2026-09-29 +- **Resolution state:** open, minor priority — resolving this requires + either a richer provenance field distinguishing origination from + transcription, or an explicit note that `Added by` currently means "who + wrote the words," not "who originated the position." diff --git a/research/programs/RP-000-researching-research/papers/paper-000/evidence.md b/research/programs/RP-000-researching-research/papers/paper-000/evidence.md index d31702c..9cfa598 100644 --- a/research/programs/RP-000-researching-research/papers/paper-000/evidence.md +++ b/research/programs/RP-000-researching-research/papers/paper-000/evidence.md @@ -3,13 +3,80 @@ Paper-local evidence items for `CR-000`, addressable as `CR-000-E`. See `docs/ResearchArtifactConvention.md` §1.1 and §4. -No evidence has been collected for this paper yet. This file exists as the -required artifact location (per -`seed/CoulombResearchMilestonePlan.md` M0/M4) so that evidence entries have -a place to go as soon as they exist; it is intentionally empty rather than -populated with placeholder or fabricated entries. +Each entry states an observation, what claim(s) it bears on, its source, +and whether it supports, weakens, or is merely consistent with (neither +strongly supports nor contradicts) the claim. Per +`workplans/CR-WP-0004-claim-evidence-discipline.md` T02, a claim's state in +`claims.md` is not upgraded to `supported` on a single weak or +self-referential piece of evidence — the entries below are honestly framed +as preliminary, not conclusive. -Each future entry should record, at minimum: the evidence ID, a description -of the observation or artifact, which claim(s) it bears on (`bears-on`, per -`seed/CoulombResearchKernel.md` §3), its source, and provenance -(`docs/ResearchArtifactConvention.md` §4). +--- + +## CR-000-E001 + +**Bears on:** `CR-000-C005` (research institutions can recursively +experiment on their own coordination mechanisms) + +**Observation:** The workplan sequence `CR-WP-0001` → `CR-WP-0002` → +`CR-WP-0003` → `CR-WP-0004` is itself a recorded instance of RP-000 +revising its own coordination mechanism, not just CR-000's content. +Concretely: `CR-WP-0002` deliberately deferred a coherent manuscript to a +separate workplan rather than attempting it in one pass +(`revision-log.md`, 2026-09-28 entry); `CR-WP-0003` then produced that +manuscript and, in the process, ran a self-criticism pass that changed +`claims.md` state for `CR-000-C002`/`CR-000-C003` from `conjectural` to +`contested` (`revision-log.md`, 2026-09-29 entry) — an observed change to +the research process's own output based on criticism of the process's +prior output, which is the object-level loop +(`seed/CoulombResearchKernel.md` §1) applied reflexively to this paper's +own construction. `CR-WP-0004` (this workplan) is itself a further instance: +it exists because `CR-WP-0003`'s closing evaluation judged M2 work ready to +become live, rather than folding it silently into `CR-WP-0003`. + +**Source:** `revision-log.md`; `workplans/CR-WP-0002-research-facility-skeleton.md`, +`workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md`, +`workplans/CR-WP-0004-claim-evidence-discipline.md`. + +**Assessment:** Weakly supports `CR-000-C005`. It shows recursive +revision *did* occur at least three times in sequence. It does not show +this generalizes beyond a single paper produced by a single human/agent +pairing within one repository's lifetime — there is no cross-program, +cross-institution, or long-horizon instance yet, and no counterfactual +showing this differs from ordinary iterative project management under +another name. `CR-000-C005` remains `conjectural` in `claims.md`, not +`supported`, pending a broader or longer-running instance. + +**Added by:** agent:claude-sonnet-5 — 2026-09-29 + +## CR-000-E002 + +**Bears on:** `CR-000-C001` (AI reduces the need for several historically +human-mediated scientific coordination functions) + +**Observation:** `publication.yaml` and `revision-log.md` record that +manuscript drafting, section structuring, claim transcription, and +self-criticism authorship for CR-000 were performed by +`agent:claude-sonnet-5` — functions (drafting prose, structuring an +argument, generating internal criticism) that have historically required +dedicated human labor in research writing. + +**Assessment:** This is weak and double-edged evidence, not a clean +instance of support. Three limitations should be stated plainly rather than +glossed over: (1) a human (`human:bernd.worsch`) directed every step — +commissioning each workplan, scoping each task, and retaining commit +approval — so what is observed is AI performing *within* human-set scope, +not AI replacing the coordination function of deciding what work happens +next; that coordination function stayed human-mediated throughout. (2) This +is one paper, produced once; there is no comparison against how the same +work would have gone without AI assistance, so "reduces the need for" is +not actually measured, only assumed. (3) `CR-000-X002`'s point applies here +too — the entity assessing whether this counts as evidence is the same +agent that produced the artifact being assessed, which is a conflict of +interest this entry cannot fully escape by disclosing it. `CR-000-C001` +remains `conjectural` in `claims.md`. If anything, point (1) is a mild +counter-consideration: the specific coordination function of *deciding +what to do and approving what gets kept* was not reduced at all in this +instance — only lower-level drafting labor was. + +**Added by:** agent:claude-sonnet-5 — 2026-09-29 diff --git a/research/programs/RP-000-researching-research/papers/paper-000/manuscript.md b/research/programs/RP-000-researching-research/papers/paper-000/manuscript.md index b27f11f..5c5bfca 100644 --- a/research/programs/RP-000-researching-research/papers/paper-000/manuscript.md +++ b/research/programs/RP-000-researching-research/papers/paper-000/manuscript.md @@ -8,12 +8,15 @@ > `claims.md`; several are marked `contested` there following the > self-criticism recorded in `criticism.md` (§11 summarizes why). No > results, external citations, or fabricated evidence are asserted below. +> `criticism.md` now includes independent criticism (`CR-000-X003`– +> `CR-000-X007`) alongside self-criticism (`CR-000-X001`/`X002`); §11 and +> §13 discuss the difference and what the independent round found. ## Abstract -Coulomb Research proposes reducing scientific knowledge production to a -small cybernetic kernel — actors, propositions, evidence, actions, -resources, and criticism, arranged in a recursive object-level and +`[CONJECTURE]` Coulomb Research proposes reducing scientific knowledge +production to a small cybernetic kernel — actors, propositions, evidence, +actions, resources, and criticism, arranged in a recursive object-level and meta-level loop (`seed/CoulombResearchKernel.md`) — and treating conventional research institutions (journals, venues, review boards) as interoperability surfaces at the boundary of that kernel rather than as @@ -24,19 +27,32 @@ prescribes, inside the program (`RP-000`) whose subject is Coulomb Research itself. We state the design objective (institutional minimality, co-creation science), summarize the kernel and its publication and signal layers, and report the paper's own construction as its first initial -experiment (§12). The central finding at this stage is negative and -self-directed: the current implementation, despite arguing that documents -should not remain the canonical representation of research (`CR-000-C002`, -`CR-000-C003`), is itself built from flat Markdown documents with no -queryable graph behind the ID references — a tension recorded as -self-criticism `CR-000-X001` and reflected in `claims.md` by marking -`CR-000-C002` and `CR-000-C003` `contested`. We treat this as evidence that -institutional minimality is easy to state and hard to build without first -reintroducing the very document-centric scaffolding it argues against. The -paper's central research question — whether the kernel actually supports -real scientific coordination, or merely restates document-centric practice -under new vocabulary — remains open and is the subject of the M2 milestone -that follows this one. +experiment (§12). + +`[CONJECTURE]` The specific, narrow finding this paper is actually entitled +to, at this stage, concerns document representation, not institutional +minimality generally: the current implementation, despite arguing that +documents should not remain the canonical representation of research +(`CR-000-C002`, `CR-000-C003`), is itself built from flat Markdown +documents with no queryable graph behind the ID references — a tension +recorded as self-criticism `CR-000-X001` and reflected in `claims.md` by +marking `CR-000-C002` and `CR-000-C003` `contested`. An earlier draft of +this abstract generalized this single observation into a claim about +"institutional minimality" broadly; that generalization was flagged as +unlabeled overreach by independent review (`CR-000-X006` in +`criticism.md`) and is withdrawn here — §3.2 and §9 report that +institutional minimality specifically (no database, registry service, or +on-chain component needed) worked without the tension §11 describes for +document representation, so the two should not be conflated. Independent +criticism obtained under `CR-WP-0004` (`CR-000-X003`–`CR-000-X007`, §11) +additionally found that `CR-000-C006` rested on circular, mis-categorized +evidence, now withdrawn and marked `contested`, and that this paper's +self-criticism had concentrated on infrastructure while leaving several +substantive claims unchallenged. The paper's central research question — +whether the kernel actually supports real scientific coordination, or +merely restates document-centric practice under new vocabulary — remains +open; §13 (Q2) reports this workplan's assessment of whether the +representation has been useful so far. ## 1. Motivation @@ -315,7 +331,10 @@ is not evidence that the underlying idea is wrong — a real graph representation has simply not been attempted yet — but it is evidence that stating the idea is much cheaper than building it, and that the gap between the two should not be allowed to go unmarked, which is the specific failure -this section exists to guard against. +this section exists to guard against. §12 describes +`scripts/query_paper_graph.py`, a minimal read-only query layer built in +response to this criticism; it narrows but does not close the gap +(`CR-000-X001` remains open). **Self-criticism is not a substitute for independent criticism (`CR-000-X002`).** `CR-000-C004` claims criticism can operate continuously @@ -336,23 +355,79 @@ own failure-modes section, informed only by one's own self-criticism, risks producing a section that is thorough-looking but self-limiting — it can only surface the failure modes the author was willing and able to see. This paragraph is that risk stated explicitly rather than hidden by the -section's own existence. +section's own existence, and it was borne out: the independent review below +found problems this section, in its original form, did not. + +**Independent criticism confirms the risk above, and finds sharper +problems (`CR-000-X003`–`CR-000-X007`).** `CR-WP-0004` T01 obtained +criticism from a freshly spawned agent instance with no prior context of +this paper's authorship — procedural rather than organizational +independence (see `criticism.md`'s note on what that distinction does and +does not mean). It did not simply restate `CR-000-X001`/`CR-000-X002`. It +found two internal-consistency violations neither self-criticism entry had +caught: `CR-000-C006`'s cited "evidence" was manuscript prose, not a real +`evidence.md` entry, conflating assertion with evidence in exactly the way +`seed/CoulombResearchKernel.md` §4 warns against (`CR-000-X004`); and that +same "evidence" was circular besides, since the absence of infrastructure +it cited was the enactment of the very principle it was meant to support, +not an independent test of it (`CR-000-X003`). `CR-000-C006` is now +`contested` in `claims.md` on that basis, and its evidence field has been +withdrawn rather than left standing. The independent review also named a +structural pattern in this section's *first* version: both self-criticism +entries attacked infrastructure (document-centrism, self-review) while +leaving every substantive claim's content unchallenged — `CR-000-C001` and +`CR-000-C005` had no criticism of any kind before this workplan +(`CR-000-X005`). And it flagged that this manuscript's own Abstract +violated the paper's stated labeling convention by asserting an +unlabeled generalization the evidence did not support (`CR-000-X006`, +addressed in the Abstract above) — a discipline lapse in the one section +most readers take at face value. None of `CR-000-X003`–`CR-000-X006` are +resolved by this manuscript revision; they are recorded as open in +`criticism.md` and carried forward, per `CR-WP-0004`'s remaining tasks and +its own next-milestone handoff. ## 12. Initial experiments The candidate experiment identified in the M0 skeleton was RP-000/CR-000 itself: whether this facility can register, criticize, and revise this very -paper. This workplan (`CR-WP-0003`) is a partial run of that experiment — -it took CR-000 from an empty skeleton through one self-criticism cycle -(§11) to a v0.1 manuscript with `claims.md` states updated in response. It -is partial because the criticism involved was self-authored (§11, -`CR-000-X002`); a fuller run of the experiment requires at least one -criticism from an actor other than the paper's own author-agent pair, which -is explicitly out of scope for this workplan and is carried forward as -residual work (`SCOPE.md`, `docs/ResearchArtifactConvention.md` — see the -handoff note at the end of this workplan). No claim of success or failure -for the underlying architecture is made from this one partial cycle; a -single self-reviewed paper is far too small a sample. +paper. `CR-WP-0003` ran a partial cycle of that experiment: self-criticism +only (§11, `CR-000-X001`/`X002`). `CR-WP-0004` ran a fuller cycle, +consisting of three concrete steps, each producing an artifact this +section can point to rather than only describe: + +1. **Independent criticism.** A freshly spawned agent instance, given only + this paper's files and no authorship context, produced `CR-000-X003`– + `CR-000-X007` in `criticism.md` (§11 summarizes their content). This is + the experiment's most informative result so far: independent criticism + found real problems (an internal-consistency violation in + `CR-000-C006`) that two rounds of self-criticism had missed, which is + direct evidence that self-criticism alone under-detects certain failure + classes — specifically, ones that require not having written the claim + to notice. +2. **Evidence linkage.** `evidence.md` gained its first two entries + (`CR-000-E001`, `CR-000-E002`), each explicitly assessed as weak and + left `conjectural` rather than inflated to `supported` — a small test of + whether this paper's own claim/evidence discipline (§4.3, + `docs/ResearchArtifactConvention.md` §5) resists the temptation to + overclaim once real evidence exists to point to. +3. **A minimal response to `CR-000-X001`.** `scripts/query_paper_graph.py` + parses the `Bears on:`/`Challenges:`/`Evidence for/against:`/ + `Criticism:` fields in `claims.md`, `evidence.md`, and `criticism.md` + and answers relation queries (e.g. "what challenges `CR-000-C006`") + without manual grepping. It does not resolve `CR-000-X001` — it is a + read-only query layer over the same flat files, not a graph *database*, + and `CR-000-X001` remains open in `criticism.md` on that basis — but it + is a genuine, working, minimal artifact rather than only a promise to + build one eventually, consistent with the institutional-minimality + principle (§3.2) of building only as much as a demonstrated need + justifies. + +This is still not a large sample — one paper, four workplans, one round of +independent review — and no claim of success or failure for the underlying +architecture is made from it. The clearest result is negative and +specific: self-criticism from a paper's own authors reliably misses +internal-consistency problems that a fresh reader catches quickly, at least +in this one instance. ## 13. Open research questions @@ -364,33 +439,61 @@ duplicating it. document, in full) — remains open. This v0.1 manuscript is a more complete statement of the position than the M0 skeleton, but it is not evidence for the position; see §11 for why the implementation so far cuts - against, rather than for, two of the paper's own claims. -- **Q2 (representation usefulness)** — still blocked on M2 - (claim/evidence/criticism linkage exercise), which this workplan - deliberately did not fold into its own scope (see the workplan's - Non-Goals). §11's `CR-000-X001` is, if anything, a preliminary negative - signal on Q2's premise: the representation as built has not yet shown - itself more useful than prose, only differently organized prose with ID - labels. -- **Q3 (institutional minimality in practice)** — §3.2 and §9 report one - small data point each (no database or registry service was needed for - M0/M1; no on-chain component was needed either), consistent with the - kernel test predicting these functions were not load-bearing yet at this - scale. Whether that holds as the facility grows past one paper is - untested. + against, rather than for, two of the paper's own claims, and for a third + claim (`CR-000-C006`) whose supporting evidence turned out not to hold up + under independent review. +- **Q2 (representation usefulness)** — `CR-WP-0004` (M2) directly tested + this. Answer, as of this revision: **mixed, leaning useful for + criticism, unproven for evidence.** The ID-addressable structure + (`docs/ResearchArtifactConvention.md`) is what let independent review + attach `CR-000-X003`–`CR-000-X007` to specific claims precisely enough + that `claims.md` could be updated claim-by-claim (`CR-000-C006` + `contested`; `CR-000-C001`/`CR-000-C005` newly linked to evidence) rather + than as a vague "the paper has problems" note — that would have been + harder with an undifferentiated prose review. Against that: + `evidence.md` still has only two entries, both self-assessed as weak, + so the claim/evidence side of the representation has not yet been + exercised enough to say whether it beats prose for *that* purpose + specifically. And `CR-000-X001` (document-centrism) is still open — the + representation remains ID-labeled prose, not a real graph, so "useful" + here means useful *as structured prose*, not as the graph `CR-000-C003` + actually claims. This is a provisional answer, not a settled one; it + should be revisited once `evidence.md` has more entries and + `CR-000-X001` has either a fuller prototype or an explicit decision + against building one (`workplans/CR-WP-0004-claim-evidence-discipline.md` + T03). +- **Q3 (institutional minimality in practice)** — §3.2 and §9's earlier + data point turned out to be weaker than stated: `CR-000-X003`/`X004` + showed the "evidence" for `CR-000-C006` was circular and mis-categorized, + so `CR-000-C006` is now `contested` rather than treated as a working + design principle with support behind it. Q3 remains open, and is now + known to need real evidence (a case where minimality was tested against + an actual need, not just an absence of built infrastructure) rather than + the self-observation this paper previously relied on. ## 14. Conclusion -CR-000's v0.1 draft states a real position — that a small kernel of actors, +CR-000 states a real position — that a small kernel of actors, propositions, evidence, actions, and resources, with conventional institutions treated as an interoperability boundary rather than an internal requirement, can support real research coordination — and subjects that position to the facility's own tools rather than presenting -it as already validated. The most useful result of writing this v0.1 is not -any of its numbered claims but the self-criticism in §11: the paper that -argues papers should not remain canonical is itself, right now, a paper. -Closing that specific gap — building or at least prototyping something that -is actually graph-queryable rather than ID-labeled prose, and getting -criticism from an actor other than this paper's own author-agent pair — is -the concrete, falsifiable next step this paper leaves for the program that -follows it, rather than a general call for "future work." +it as already validated. Two rounds of testing that discipline against +itself (`CR-WP-0003`'s self-criticism, `CR-WP-0004`'s independent review) +produced a result worth stating plainly: self-criticism from a paper's own +authors is not a reliable substitute for a second, uninvolved reader. +Self-criticism caught the document-centrism problem (§11, `CR-000-X001`) — +a fair result, but also the cheapest kind of self-criticism to produce, +since it critiques infrastructure rather than the paper's own arguments. +It missed an actual internal-consistency violation in `CR-000-C006` +(circular, mis-categorized evidence) that independent review caught within +one cold read. If this paper's architecture is to be judged by its own +kernel test (§3.2, `seed/CoulombResearchKernel.md` §10) — does removing a +function break the loop? — then independent criticism looks load-bearing +in a way self-criticism alone is not, at least in this one instance. +`CR-000-X001` (document-centrism) and Q2's provisional, mixed answer +(§13) remain the concrete, unresolved work this paper leaves for the +program that follows it, alongside a narrower one this revision adds: +getting a *second* round of independent criticism, from an actor not just +procedurally but organizationally distinct from this paper's authors, to +see whether `CR-WP-0004`'s result generalizes or was a one-off. diff --git a/research/programs/RP-000-researching-research/papers/paper-000/revision-log.md b/research/programs/RP-000-researching-research/papers/paper-000/revision-log.md index be435d0..0242c67 100644 --- a/research/programs/RP-000-researching-research/papers/paper-000/revision-log.md +++ b/research/programs/RP-000-researching-research/papers/paper-000/revision-log.md @@ -43,3 +43,40 @@ rather than edited in place in their source files. prototype graph representation (`CR-000-X001`) are carried forward as residual work rather than folded into this workplan; see `workplans/CR-WP-0003-paper-zero-v0-1-manuscript.md` for the handoff. + +## 2026-09-29 — M2: independent criticism, evidence linkage, minimal query prototype + +- **Actor:** agent:claude-sonnet-5 (with human:bernd.worsch); independent + criticism specifically authored by a separately spawned agent instance + with no prior context of this paper (see `criticism.md`'s provenance + note) +- **Change:** Obtained genuine independent criticism + (`CR-000-X003`–`CR-000-X007` in `criticism.md`) via a freshly spawned, + context-isolated agent instance told to read CR-000 cold and critique it + honestly. It found two internal-consistency violations self-criticism had + missed: `CR-000-C006`'s cited evidence was circular (`CR-000-X003`) and + mis-categorized manuscript-prose-as-evidence (`CR-000-X004`); updated + `CR-000-C006` to `contested` and withdrew its evidence field + accordingly. Also flagged that self-criticism had concentrated on + infrastructure, leaving substantive claims unchallenged (`CR-000-X005`), + an unlabeled overreach in the Abstract (`CR-000-X006`, now fixed), and a + provenance-field ambiguity in `claims.md` (`CR-000-X007`, minor, left + open). Marked `CR-000-X002` `resolved` — CR-000 has now received + criticism from an actor other than its own authors. + Added `evidence.md` entries `CR-000-E001` (bears on `CR-000-C005`) and + `CR-000-E002` (bears on `CR-000-C001`), both explicitly assessed as weak + and left `conjectural` rather than inflated to `supported`. + Added `scripts/query_paper_graph.py`, a minimal read-only script that + parses claim/evidence/criticism relation fields and answers relation + queries without manual grepping, as a direct (partial) response to + `CR-000-X001`; `CR-000-X001` remains open because this is a query layer + over flat files, not a real graph. + Revised the Abstract, §11, §12, §13, and §14 of `manuscript.md` to + reflect all of the above. +- **Context:** Implements `workplans/CR-WP-0004-claim-evidence-discipline.md` + tasks T01–T04. Q2 (representation usefulness) now has a provisional, + mixed answer (`manuscript.md` §13); Q3 (institutional minimality in + practice) had its one prior data point withdrawn as unsound rather than + gaining support. No claim in `claims.md` reached `supported` in this + revision — the evidentiary bar was deliberately not lowered to produce + one. diff --git a/research/programs/RP-000-researching-research/questions.md b/research/programs/RP-000-researching-research/questions.md index c673352..e9c4ecc 100644 --- a/research/programs/RP-000-researching-research/questions.md +++ b/research/programs/RP-000-researching-research/questions.md @@ -17,8 +17,13 @@ This is CR-000's research question verbatim for the whole program: every other question below is a sub-question of it or a precondition for testing it. -Status: open — CR-000 is currently a draft skeleton (M0/M1), not yet a -coherent v0.1 manuscript with claims mapped to evidence. +Status: open — CR-000 is now a coherent v0.1 manuscript (M1, `CR-WP-0003`) +with a first, small round of claim/evidence linkage and one round of +independent criticism completed (M2, `CR-WP-0004`). The manuscript itself +is not evidence for Q1; if anything, the independent review found an +internal-consistency violation in one of the paper's own claims +(`CR-000-C006`, now `contested`), which is evidence about the paper's +current rigor, not about the underlying kernel question. ## Q2 — Representation usefulness @@ -31,12 +36,16 @@ claims linked to real evidence and criticism (M2), so it is currently unresolved by construction — M0 only establishes the empty structure this question will be tested against. -Status: open — M1 (`CR-WP-0003`) produced a coherent v0.1 manuscript and, in -doing so, surfaced a preliminary negative signal: the paper's own -implementation is flat Markdown, in tension with `CR-000-C002`/ -`CR-000-C003` (see `criticism.md` `CR-000-X001`). M2 -(`CR-WP-0004`) is the workplan that will actually test this question -against linked evidence rather than self-criticism alone. +Status: open, with a provisional mixed answer from M2 (`CR-WP-0004`, see +`manuscript.md` §13 for the full assessment): the ID-addressable structure +made independent criticism easier to attach precisely to specific claims +(useful), but the claim/evidence side is still thin (two weak entries in +`evidence.md`) and the representation is still flat Markdown, not a real +graph (`CR-000-X001`, still open) — so "useful" so far means useful as +structured prose for organizing criticism, not proven as the richer graph +representation `CR-000-C003` actually claims. Revisit once `evidence.md` +has more entries and `CR-000-X001` has a fuller prototype or an explicit +decision against building one. ## Q3 — Institutional minimality in practice @@ -46,5 +55,12 @@ Coulomb Research actually tries to produce a paper, versus functions that can be dropped or deferred as the kernel test in `seed/CoulombResearchKernel.md` §10 predicts? -Status: open — no evidence yet; will accumulate as later milestones (M4 -lifecycle, M5 registry, M6 agents) are exercised against real papers. +Status: open. M2 (`CR-WP-0004`) revised this question's evidence base +downward rather than upward: the one data point previously cited here +(`CR-000-C006`, no database/registry/on-chain component needed for M0/M1) +turned out to rest on circular, mis-categorized evidence (`CR-000-X003`, +`CR-000-X004`) and is now `contested`, not a working data point. Real +evidence — a case where institutional minimality was tested against an +actual, felt need rather than an absence of built infrastructure — has not +yet accumulated. Will revisit as later milestones (M4 lifecycle, M5 +registry, M6 agents) are exercised against real papers. diff --git a/scripts/query_paper_graph.py b/scripts/query_paper_graph.py new file mode 100644 index 0000000..5defe42 --- /dev/null +++ b/scripts/query_paper_graph.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python3 +"""Query claim/evidence/criticism relations for a Coulomb-native paper. + +Directly addresses CR-000-X001 in +research/programs/RP-000-researching-research/papers/paper-000/criticism.md: +CR-000's own claims/evidence/criticism cross-references are strings in flat +Markdown files, not edges in anything queryable. This script parses those +files' explicit relation fields ("Bears on:", "Challenges:") and answers +relation queries without manual grepping. + +This is intentionally the smallest useful prototype, not a database or +service, per the institutional-minimality principle +(seed/CoulombResearchKernel.md SS10) and this workplan's own instruction +(workplans/CR-WP-0004-claim-evidence-discipline.md T03) to build only as +much as one paper's scale justifies. It has no dependencies beyond the +standard library. It is read-only: it does not modify the source +Markdown files, which remain the authoritative record. + +Recognized relation fields, one per object block ("## CR-000-"): + - claims.md entries: "Evidence for/against:" -> evidence ids (supports/bears-on) + "Criticism:" -> criticism ids (challenged-by) + - evidence.md entries: "Bears on:" -> claim ids (bears-on) + - criticism.md entries: "Challenges:" -> claim ids (challenges) + +Usage: + python3 scripts/query_paper_graph.py --id CR-000-C002 + python3 scripts/query_paper_graph.py --challenges CR-000-C002 + python3 scripts/query_paper_graph.py --bears-on CR-000-C003 + python3 scripts/query_paper_graph.py --list + +Default paper-dir if omitted: + research/programs/RP-000-researching-research/papers/paper-000 +""" + +import argparse +import re +import sys +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parent.parent +DEFAULT_PAPER_DIR = ( + REPO_ROOT / "research" / "programs" / "RP-000-researching-research" / "papers" / "paper-000" +) + +BLOCK_RE = re.compile(r"^## (CR-\d{3}-[CEX]\d{3})\s*$", re.MULTILINE) +FIELD_RE = re.compile( + r"\*\*(Bears on|Challenges|Evidence for/against|Criticism):\*\*\s*(.*)", re.IGNORECASE +) + +# Each relation field only ever points at one object type. Filtering by type +# here (rather than grabbing every CR-*-[CEX]\d{3} the line happens to +# mention) matters: a field's prose commonly *mentions* an id of a +# different type in passing (e.g. a claim's "Criticism:" field explaining +# itself by referring back to another claim id), which is not the same as +# that field *asserting a relation* to it. Confusing the two produced a +# false "C002 --challenges--> C003" edge in earlier testing. +FIELD_ID_TYPE = { + "bears on": "C", + "challenges": "C", + "evidence for/against": "E", + "criticism": "X", +} + + +def parse_file(path): + """Return {object_id: {field_name: [related_id, ...]}} for one file.""" + if not path.exists(): + return {} + text = path.read_text() + starts = [(m.group(1), m.start()) for m in BLOCK_RE.finditer(text)] + objects = {} + for i, (obj_id, start) in enumerate(starts): + end = starts[i + 1][1] if i + 1 < len(starts) else len(text) + lines = text[start:end].splitlines() + fields = {} + current_field = None + current_text = [] + for line in lines: + m = FIELD_RE.search(line) + if m: + if current_field: + fields.setdefault(current_field, []).append(" ".join(current_text)) + current_field, first = m.group(1).lower(), m.group(2) + current_text = [first] + continue + # A field's value wraps onto following lines until a blank + # line, a metadata list item ("- **Critic:** ..."), or the + # next field/heading ends it. + if current_field: + if not line.strip() or line.lstrip().startswith("- **") or line.startswith("#"): + fields.setdefault(current_field, []).append(" ".join(current_text)) + current_field, current_text = None, [] + else: + current_text.append(line.strip()) + if current_field: + fields.setdefault(current_field, []).append(" ".join(current_text)) + + resolved = {} + for field, chunks in fields.items(): + type_letter = FIELD_ID_TYPE[field] + id_re = re.compile(rf"CR-\d{{3}}-{type_letter}\d{{3}}") + found = [] + for chunk in chunks: + found.extend(id_re.findall(chunk)) + resolved[field] = found + objects[obj_id] = resolved + return objects + + +def build_graph(paper_dir): + """Return list of (subject, relation, object) edges across all files.""" + edges = [] + + for obj_id, fields in parse_file(paper_dir / "claims.md").items(): + for eid in fields.get("evidence for/against", []): + edges.append((eid, "bears-on", obj_id)) + for xid in fields.get("criticism", []): + edges.append((xid, "challenges", obj_id)) + + for obj_id, fields in parse_file(paper_dir / "evidence.md").items(): + for cid in fields.get("bears on", []): + edges.append((obj_id, "bears-on", cid)) + + for obj_id, fields in parse_file(paper_dir / "criticism.md").items(): + for cid in fields.get("challenges", []): + edges.append((obj_id, "challenges", cid)) + + # de-duplicate while preserving order (same edge often stated in both + # directions, once in each file) + seen = set() + unique = [] + for e in edges: + if e not in seen: + seen.add(e) + unique.append(e) + return unique + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("paper_dir", nargs="?", default=str(DEFAULT_PAPER_DIR)) + ap.add_argument("--id", help="show all edges touching this id") + ap.add_argument("--challenges", metavar="ID", help="what challenges ID") + ap.add_argument("--bears-on", metavar="ID", help="what evidence bears on ID") + ap.add_argument("--list", action="store_true", help="list every edge") + args = ap.parse_args() + + paper_dir = Path(args.paper_dir) + edges = build_graph(paper_dir) + + if args.list: + for s, r, o in edges: + print(f"{s} --{r}--> {o}") + return 0 + + if args.challenges: + hits = [s for s, r, o in edges if r == "challenges" and o == args.challenges] + print("\n".join(hits) if hits else f"(nothing found challenging {args.challenges})") + return 0 + + if args.bears_on: + hits = [s for s, r, o in edges if r == "bears-on" and o == args.bears_on] + print("\n".join(hits) if hits else f"(nothing found bearing on {args.bears_on})") + return 0 + + if args.id: + hits = [(s, r, o) for s, r, o in edges if s == args.id or o == args.id] + if not hits: + print(f"(no edges touch {args.id})") + for s, r, o in hits: + print(f"{s} --{r}--> {o}") + return 0 + + ap.print_help() + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/workplans/CR-WP-0004-claim-evidence-discipline.md b/workplans/CR-WP-0004-claim-evidence-discipline.md index 61735c1..27a659c 100644 --- a/workplans/CR-WP-0004-claim-evidence-discipline.md +++ b/workplans/CR-WP-0004-claim-evidence-discipline.md @@ -4,11 +4,15 @@ type: workplan title: "M2: introduce minimal claim/evidence discipline for CR-000" domain: communication repo: coulomb-research -status: proposed +status: finished owner: codex topic_slug: coulomb-social created: "2026-09-29" updated: "2026-09-29" +quality_dod: DoD-Ok +quality_dod_at: "2026-09-29" +quality_dod_by: codex +quality_dod_note: "Obtained genuine independent criticism (fresh, context-isolated agent instance) that found a real internal-consistency violation self-criticism missed; linked first evidence entries; built minimal read-only query prototype. Remaining residuals (organizationally-independent review, claim sharpening, provenance field) handed off to CR-WP-0005 rather than folded in." origin: residual origin_ref: CR-WP-0003 state_hub_workstream_id: "d4e08468-ef7f-5dab-af8a-aecd4e6dc415" @@ -47,7 +51,7 @@ Inputs: `research/programs/RP-000-researching-research/papers/paper-000/` ```task id: CR-WP-0004-T01 -status: todo +status: done priority: high state_hub_task_id: "540baf89-2858-5edc-9c43-a78e6283ee88" ``` @@ -69,7 +73,7 @@ any claim it bears on. ```task id: CR-WP-0004-T02 -status: todo +status: done priority: high state_hub_task_id: "368573d3-e917-5931-a42d-704b297e027e" ``` @@ -93,7 +97,7 @@ updated accordingly. ```task id: CR-WP-0004-T03 -status: todo +status: done priority: medium state_hub_task_id: "4bdc3ac4-5f91-55b3-93c3-726772520917" ``` @@ -116,11 +120,18 @@ from `manuscript.md` §11, or an explicit, reasoned decision recorded in `revision-log.md` for why not yet, with `criticism.md`'s resolution state updated either way. +Closed: built `scripts/query_paper_graph.py` (read-only, stdlib-only, +parses relation fields across `claims.md`/`evidence.md`/`criticism.md` and +answers `--challenges`/`--bears-on`/`--id`/`--list` queries). Referenced +from `manuscript.md` §11 and §12. `CR-000-X001` left open — the prototype +is a query layer over flat files, not a real graph, and does not claim to +resolve the underlying criticism. + ## Assess Representation Usefulness and Close Out M2 ```task id: CR-WP-0004-T04 -status: todo +status: done priority: high state_hub_task_id: "411e3a05-6f0d-5e66-9732-be453e89e4f9" ``` @@ -140,6 +151,14 @@ Done when the M2 exit criterion (major manuscript claims are explicitly addressable and linked to supporting or challenging evidence) is met for at least the claims this workplan touched, and the registry validator passes. +Closed: Q2 answered as "mixed, leaning useful for criticism, unproven for +evidence" in `manuscript.md` §13; `questions.md` updated for Q1–Q3. +Registry validator and `scripts/query_paper_graph.py --list` both pass. +M3 (CR-001) judged premature — `CR-000-X001`/`X003`–`X005`/`X007` remain +open and the independent review obtained here was only procedurally, not +organizationally, independent. Handed off as +`workplans/CR-WP-0005-resolve-outstanding-criticism.md` instead of M3. + ## Non-Goals No CR-001 work (that is M3), no P2/P3 publication advancement, no general diff --git a/workplans/CR-WP-0005-resolve-outstanding-criticism.md b/workplans/CR-WP-0005-resolve-outstanding-criticism.md new file mode 100644 index 0000000..96ac23b --- /dev/null +++ b/workplans/CR-WP-0005-resolve-outstanding-criticism.md @@ -0,0 +1,118 @@ +--- +id: CR-WP-0005 +type: workplan +title: "Resolve CR-000's outstanding criticism; assess M3 readiness" +domain: communication +repo: coulomb-research +status: proposed +owner: codex +topic_slug: coulomb-social +created: "2026-09-29" +updated: "2026-09-29" +origin: residual +origin_ref: CR-WP-0004 +--- + +# Resolve CR-000's outstanding criticism; assess M3 readiness + +`CR-WP-0004` (M2) obtained CR-000's first independent criticism +(`CR-000-X003`–`CR-000-X007` in `criticism.md`), from a procedurally +independent but organizationally identical reviewer (a freshly spawned +agent instance, same underlying model as CR-000's authors — see +`criticism.md`'s provenance note). It found a real internal-consistency +violation (`CR-000-C006`, now `contested`) that two rounds of +self-criticism had missed, and left several items open: +`CR-000-X001` (document-centrism), `CR-000-X003`/`CR-000-X004` +(`CR-000-C006`'s withdrawn evidence, no replacement yet), `CR-000-X005` +(unfalsifiable phrasing in `CR-000-C001`/`CR-000-C005`), and `CR-000-X007` +(provenance field conflation, minor). + +`seed/CoulombResearchMilestonePlan.md` M3 (register CR-001) is the next +milestone in sequence, but this workplan judges it premature to start +before the items above are addressed: M3's purpose is to test whether +Coulomb's mechanisms transfer to an independent domain, and starting a +second paper while the first has multiple open, unresolved +internal-consistency criticisms would compound the problem `CR-WP-0004` +found (self-review missing things a fresh reader catches) rather than +respond to it. `manuscript.md` §14 makes the same call explicitly: the +concrete next step it names is a *second* round of independent criticism, +from a reviewer organizationally distinct from CR-000's authors, not a new +paper. + +This workplan is scoped to close that gap before M3 is evaluated again. + +## Resolve or Reframe CR-000-C001 and CR-000-C005 + +```task +id: CR-WP-0005-T01 +status: todo +priority: medium +``` + +Respond to `CR-000-X005`: either sharpen `CR-000-C001` ("AI reduces the +need for several historically human-mediated scientific coordination +functions") and `CR-000-C005` into claims specific and falsifiable enough +to be tested, or explicitly mark them in `claims.md` as deliberately loose, +exploratory conjectures pending a sharper reformulation, rather than +leaving the vagueness unaddressed. Update `criticism.md`'s resolution +state for `CR-000-X005` accordingly. + +## Fix the Provenance Field Conflation + +```task +id: CR-WP-0005-T02 +status: todo +priority: low +``` + +Respond to `CR-000-X007`: add a field (or a documented convention in +`docs/ResearchArtifactConvention.md` §4) distinguishing who originated a +claim's position from who transcribed or drafted its text in `claims.md`, +or add an explicit note that `Added by` currently means the latter, not the +former. Update `claims.md` entries and `criticism.md`'s resolution state +for `CR-000-X007` accordingly. + +## Obtain Organizationally-Independent Review + +```task +id: CR-WP-0005-T03 +status: todo +priority: high +needs_human: true +``` + +`CR-000-X003`/`CR-000-X004`/`CR-000-X005`/`CR-000-X006` were all found by +an agent instance running the same underlying model as CR-000's authors — +procedural independence, not organizational independence. Solicit review +from a human collaborator, or an agent/model from a genuinely different +provider or configuration, and record the result honestly in `criticism.md` +with accurate provenance. This step requires action outside what an agent +in this repository can perform on its own (recruiting a human reviewer, or +provisioning access to a different model/provider) — flagged +`needs_human` accordingly; do not simulate this step. + +## Decide Whether CR-000-C006 Can Be Re-Evidenced, and Reassess M3 + +```task +id: CR-WP-0005-T04 +status: wait +priority: medium +``` + +Waiting on T03. After organizationally-independent review exists, decide +whether `CR-000-C006` can be given real, non-circular evidence +(`evidence.md`) or should remain `contested` pending a future test case. +Using T01–T03's outcomes, reassess whether M3 (CR-001 registration, +`seed/CoulombResearchMilestonePlan.md`) is now appropriate to start, and +hand it off as a new workplan if so — or state explicitly why it still +is not, rather than leaving the decision implicit. Run +`python3 scripts/validate_research_registry.py` and +`python3 scripts/query_paper_graph.py --list` and the canonical Repo +Manager sync before closure. + +## Non-Goals + +No CR-001 work directly (that decision is T04's output, not this +workplan's content), no new facility software beyond documentation/field +changes in T01–T02, no lowering the evidentiary bar to manufacture a +`supported` claim.