Implement M2: claim/evidence discipline for CR-000 (CR-WP-0004)
Obtain CR-000's first independent criticism via a freshly spawned, context-isolated agent instance with no prior authorship context (CR-000-X003-X007 in criticism.md). It found two internal-consistency violations self-criticism had missed: CR-000-C006's cited evidence was circular (X003) and conflated manuscript assertion with a real Evidence object (X004), so C006 is now contested and its evidence withdrawn. It also flagged that self-criticism had concentrated on infrastructure while leaving substantive claims unchallenged (X005), an unlabeled overreach in the Abstract (X006, now fixed), and a provenance-field ambiguity (X007). Add evidence.md's first two entries (CR-000-E001, CR-000-E002), both explicitly assessed as weak and left conjectural rather than inflated to supported. Add scripts/query_paper_graph.py, a minimal read-only script answering claim/evidence/criticism relation queries without manual grepping, as a partial response to CR-000-X001 (which remains open: it is a query layer over flat files, not a real graph). Revise manuscript.md (Abstract, SS11-14) and questions.md to reflect all of the above; Q2 gets a provisional "mixed" answer. Close CR-WP-0004 and hand off CR-WP-0005 (resolving remaining open criticism, and obtaining organizationally- rather than only procedurally-independent review) rather than starting M3, which this workplan judges premature while CR-000 still has open internal-consistency findings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 228422@bnt-lap001 Assistant-Session: 49089735-86e1-4d29-8a6e-74c26947f8c4
This commit is contained in:
parent
b9c843041f
commit
dbf610b7b6
11 changed files with 853 additions and 115 deletions
|
|
@ -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.
|
||||
|
|
|
|||
22
SCOPE.md
22
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`.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -3,13 +3,28 @@
|
|||
Paper-local criticism entries for `CR-000`, addressable as `CR-000-X<NNN>`.
|
||||
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."
|
||||
|
|
|
|||
|
|
@ -3,13 +3,80 @@
|
|||
Paper-local evidence items for `CR-000`, addressable as `CR-000-E<NNN>`. 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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
179
scripts/query_paper_graph.py
Normal file
179
scripts/query_paper_graph.py
Normal file
|
|
@ -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-<T><NNN>"):
|
||||
- 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 <paper-dir> --id CR-000-C002
|
||||
python3 scripts/query_paper_graph.py <paper-dir> --challenges CR-000-C002
|
||||
python3 scripts/query_paper_graph.py <paper-dir> --bears-on CR-000-C003
|
||||
python3 scripts/query_paper_graph.py <paper-dir> --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())
|
||||
|
|
@ -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
|
||||
|
|
|
|||
118
workplans/CR-WP-0005-resolve-outstanding-criticism.md
Normal file
118
workplans/CR-WP-0005-resolve-outstanding-criticism.md
Normal file
|
|
@ -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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue