Goal issue #112 ยท slug csr
1/6 member issues closed
obot can implement these unattended (label auto).
no readiness label yet.
closed members.
Standing goal โ this issue stays open; closing it = retiring the goal. Direction and membership are maintained by @jwildfire; autonomous sessions propose changes as comments and never edit this issue or its sub-issue links.
Build open.csr, an open-source Clinical Study Report builder that closes the loop between the numbers and the words: a change request becomes a code edit, which regenerates the number, which updates the sentence โ as one versioned transaction, with every iteration saved and reproducible.
Research at kickoff (2026-07-25) established that no open-source CSR builder exists, and that every tool in the field breaks the same seam โ prose quotes numbers the authoring tool did not compute. Commercial vendors sell patches for that seam. Closing it is the whole point of this goal.
This is the constraint that shapes every increment: open.csr is a web application. Users experience it in the browser โ that is where TFLs are viewed, text is edited, templates are assembled, and change requests are made.
{cards}/{gtsummary}/{tfrmt}/{r2rtf}). What is not the deliverable is an R package as the product surface.jwildfire/open.csr โ until it is, agent commits push under @jwildfire's identity rather than the bot.jwildfire/open.csr and @jwildfire promoted the repo to the auto profile in the same decision (obot.agent ac613bf); agent commits push as obotclaw[bot]. Re-verified 2026-08-14: the App is installed on all 12 repos.{pharmaverseadam} CDISCPILOT01 โ public and regenerable. No proprietary study data in the repo, ever.approval.state: draft awaiting @jwildfire's review; they are excluded from the assembled report by the approval gate, which is correct behavior to demonstrate rather than a defect to fix.Members are the issues linked as sub-issues โ requirements or lightweight tasks (per the #53 policy, small items may live directly under a goal without a requirement wrapper). A newly linked sub-issue is automatically a member; nothing here is hand-maintained. Priority is the selecting session's judgment at session start, guided by the boundaries above (--increment overrides). The repo-level backlog feed is the jwildfire/open.csr issue backlog.
This issue was drafted by Claude Code using Fable 5 in an unattended ultracode session and not yet reviewed by @jwildfire
Members are generated from the goal issue's sub-issue links at build time; priority is the selecting session's judgment, not list order (#53 v2). The --auto policy binding โ active/paused, grant profile, repo-level backlog feeds โ lives in obot.agent/goals/registry.json. Readiness labels: auto = ready for autonomous implementation, draft = needs @jwildfire steering.