Decisions
Decided by
How
Showing 43 of 43.
| ID | Date | Decision | Proposed by | Decided by | How | Evidence | Source |
|---|---|---|---|---|---|---|---|
| D1 | 2026-10-19 | The skill is primarily for Fadel; other researchers come second. | Fadel M. Megahed | Fadel M. Megahed | chat | "it is primarily for me so I can ensure that any research project of mine I capture how I developed the code" (2026-10-19) | session b36ad167 |
| D2 | 2026-10-19 | Keep the four jobs of the EXPERTA folder, but lighter. | Claude Code | Fadel M. Megahed | chat | "Looks right, keep all of it but lighter" (2026-10-19) | session b36ad167 |
| D3 | 2026-10-19 | All writing follows the 80% ASD-STE100 rule. | Fadel M. Megahed | Fadel M. Megahed | chat | "use the 80% ASD-STE100 rule in all the writing as well" (2026-10-19) | session b36ad167 |
| D4 | 2026-10-19 | The shared record is one living website that GitHub Actions updates. | Fadel M. Megahed | Fadel M. Megahed | chat | "I prefer the end outcome of a single artifact that gets updated with GitHub actions that captures everything" (2026-10-19) | session b36ad167 |
| D5 | 2026-10-19 | A project without a remote stops at set-up; the skill asks for a remote with CI. | Fadel M. Megahed | Fadel M. Megahed | chat | "it should ask the user to create a GitHub (or other type of remote) that has automation" (2026-10-19) | session b36ad167 |
| D6 | 2026-10-19 | GitHub Pages is acceptable in place of an artifact. | Fadel M. Megahed | Fadel M. Megahed | chat | "if its easier to keep it as a GitHub page, I would be happy with that as well" (2026-10-19) | session b36ad167 |
| D7 | 2026-10-19 | Test the CI route in a throwaway public repository. | Claude Code | Fadel M. Megahed | chat | "You can do a throwaway public repo -- this is perfectly fine by me." (2026-10-19) | session b36ad167 |
| D8 | 2026-10-19 | A public records website is acceptable. | Claude Code | Fadel M. Megahed | chat | "I am fine with having it public since I will eventually make the code public anyways." (2026-10-19) | session b36ad167 |
| D9 | 2026-10-19 | Records are markdown tables, not JSON. | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D10 | 2026-10-19 | Pages render the markdown in the browser (marked, KaTeX). | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D11 | 2026-10-19 | Set-up adds a block to the project CLAUDE.md. | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D12 | 2026-10-19 | Specs and plans of the superpowers skills go to replication_materials/plans/. | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D13 | 2026-10-19 | The skill lives in a public repository and keeps its own record. (D16 sets the repository.) | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D14 | 2026-10-19 | In R packages, set-up adds ^replication_materials$ to .Rbuildignore. | Claude Code | Fadel M. Megahed | playback | "Looks right, go ahead and write it up" (2026-10-19) | session b36ad167 |
| D15 | 2026-10-19 | Claude Code commits and pushes changes that touch only replication_materials/ to main without asking, so the website is current during a milestone. Code follows the normal branch flow. | Claude Code | Fadel M. Megahed | question | "Yes, records to main (Recommended)" (2026-10-19) | session b36ad167 |
| D16 | 2026-10-19 | One public repository, fmegahed/claude-skills, holds all the skills of Fadel. It has one record and one website for the whole repository. | Fadel M. Megahed | Fadel M. Megahed | chat | "Would it be better to have a single repo with all my claude skills ... should I just call the repo claude-skills?" (2026-10-19) | session b36ad167 |
| D17 | 2026-10-19 | The narrated-demo-video skill moves into the repository without change. Its generalization for a wider audience is a later milestone with its own design. | Fadel M. Megahed | Fadel M. Megahed | chat | "Should my repo contain boths skills for now and it grows?" (2026-10-19) | session b36ad167 |
| D18 | 2026-10-19 | The default theme of all skills is the Miami University palette, from the brand guide. | Fadel M. Megahed | Fadel M. Megahed | chat | "the default color for theming purposes for both is Miami red and we should leverage colors from https://miamioh.edu/brand/style/" (2026-10-19) | session b36ad167 |
| D19 | 2026-10-19 | Everything conforms to WCAG 2.2 AA. | Fadel M. Megahed | Fadel M. Megahed | chat | "Also build everything to WCAG 2.2 if possible?" (2026-10-19) | session b36ad167 |
| D20 | 2026-10-19 | The website has a light theme only. | Claude Code | Fadel M. Megahed | question | "Light theme only (Recommended)" (2026-10-19) | session b36ad167 |
| D21 | 2026-10-19 | The video skill uses ElevenLabs when the user gives an API key, and else the free Microsoft neural voices. This applies to the generalization of the video skill (O6), not to version 1 of this repository. | Fadel M. Megahed | Fadel M. Megahed | chat | "For the video, use ELEVEN_LABS_API if the user is willing to provide an API key for them. Otherwise, use the free microsoft neural voices." (2026-10-19) | session b36ad167 |
| R-2026-10-19-replication-skill-1 | 2026-10-19 | The controller ran git init -b main before Task 1, because the workspace script needs a repository. Task 1 skips that step. — Cost if wrong: none. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:49 |
| R-2026-10-19-replication-skill-2 | 2026-10-19 | Models. Implementers: sonnet for Tasks 1-8 and 10-13; opus for Task 9 (skill text, writing judgment). Task reviewers: sonnet; opus for Tasks 6 and 9. Final review: opus. — Cost if wrong: a fix round on a weak task. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:50 |
| R-2026-10-19-replication-skill-3 | 2026-10-19 | readDecisions returns decisions with corrected: null and does not apply corrections. Task 3 adds readCorrectionsTable(text: string, file: string): Table | null (null when the file has no ## Corrections table). loadProject (Task 4) applies applyCorrections once, on the full list after the rulings, so a correction of an R- ID works. The idempotency sentence of Task 3 is dropped. — Why: readDecisions cannot resolve R- IDs before the rulings exist. — Cost if wrong: a small move of one call. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:51 |
| R-2026-10-19-replication-skill-4 | 2026-10-19 | Task 8 test templates build to a site: replace the assertion "records/index.html contains No documents yet." with "records/index.html links to docs/README/index.html and docs/calls/README/index.html". — Why: under Task 4 rules both template READMEs are documents, so the page is never empty; the empty state stays tested in Task 6. — Cost if wrong: none. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:52 |
| R-2026-10-19-replication-skill-5 | 2026-10-19 | Token to brand-key map for the Task 5 test: bg=warm_white, surface=white, tan=light_tan, ink=black, muted=medium_gray, rule=medium_tan, accent=miami_red, accent-strong=accent_red, on-accent=white (spec Section 9 table). — Cost if wrong: none. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:53 |
| R-2026-10-19-replication-skill-6 | 2026-10-19 | Task 8 adds the placeholder {{TIME_UTC}} (YYYY-MM-DDTHH:MMZ) for the set-up row of process.md. — Why: Task 4 rejects a time without the time part. — Cost if wrong: one extra placeholder. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:54 |
| R-2026-10-19-replication-skill-7 | 2026-10-19 | The writing-skills scenario runs of Task 9 are dispatched by the controller, not by the implementer. Baseline runs (no skill) happen before the implementer starts and go to it as a file; with-skill runs happen after its first report; failures go back to it as REFACTOR findings before the task review. Scenario subagents work only in scratch folders and make no network or GitHub call. — Why: the implementer contract forbids subagents, and nested dispatch may not exist. — Cost if wrong: more controller context. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:55 |
| R-2026-10-19-replication-skill-8 | 2026-10-19 | The outward actions of Tasks 12-13 are authorized by the approved plan: create the public repository fmegahed/claude-skills, turn on Pages, push main, and force-push the throwaway fmegahed/replication-site-spike. The dispatches name exactly these actions and no other. — Cost if wrong: a public repository that the partner must delete. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:56 |
| R-2026-10-19-replication-skill-9 | 2026-10-19 | Task 13 step 5 copies the ledger; the controller copies it again after the final review, just before it deletes this workspace, so the committed ledger is complete. The ledger holds no internal agent identifiers. — Cost if wrong: one more record commit. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:57 |
| R-2026-10-19-replication-skill-10 | 2026-10-19 | readMeta (minor 3) is load-bearing for Task 4. Task 4 changes readMeta to readMeta(text: string, file: string) and makes it lenient: it finds the first Item/Value table and never throws for another malformed table in a document. — Why: Task 4 calls readMeta on every prose document, and one sloppy table must not stop the site build (anti-goal A2). Record tables (decisions, roadmap, process) stay strict. — Cost if wrong: a document with a broken table builds without an error. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:76 |
| R-2026-10-19-replication-skill-11 | 2026-10-19 | (for the final fix wave) an EMPTY cost_usd counts as 0 (a failed call can have no cost); a non-numeric value still stops the build. — Why: jev4imageqc will log failed calls; one empty cell must not stop the site (anti-goal A2). — Cost if wrong: a missing cost shows as 0. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:94 |
| R-2026-10-19-replication-skill-12 | 2026-10-19 | contents rail (finding 4) — document pages get a rail: client.js builds <nav aria-label="Contents"> from the rendered h2 headings (adds ids when missing); at min-width 900px the document page is two columns with the rail sticky below the sticky header; below 900px the list sits above the content; without JavaScript there is no rail; record pages (Home, Records, Decisions, Progress, Process) get no rail. — Why: the spec asks for "a contents rail on wide screens" and EXPERTA had it on document pages; no task covered it. — Cost if wrong: a small layout feature to remove. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:117 |
| R-2026-10-19-replication-skill-13 | 2026-10-19 | Task 8 adds the placeholder {{SESSION}} (the session ID) for the Source column of the set-up decision D1 and the Session column of the set-up process row. — Why: spec Section 10 says Source and Session hold the session ID, and the brief's placeholder list has none. — Cost if wrong: one extra placeholder. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:147 |
| R-2026-10-19-replication-skill-14 | 2026-10-19 | angle-bracket fill-in text in the record README and probe-README vanishes on the site (marked parses it as a tag, DOMPurify strips it). Task 9 replaces each angle-bracket fill-in in the templates with a visible square-bracket marker [...], and SKILL.md set-up requires Claude Code to write the README lead paragraph. — Why: a forgotten fill-in must show, not vanish silently (anti-goal A2). — Cost if wrong: none. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:154 |
| R-2026-10-19-replication-skill-15 | 2026-10-19 | Task 10 writes this repository's record by hand, before the remote exists; the skill's remote check and Pages step are satisfied by Task 12, which creates the remote and turns on Pages before the first push. — Why: the plan orders publication last. — Cost if wrong: none. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:181 |
| R-2026-10-19-replication-skill-16 | 2026-10-19 | before the Task 13 acceptance test, SKILL.md set-up gets one step: after the first push, if no Replication site run starts within 60 seconds (gh run list --workflow replication-site.yml), start it with gh workflow run replication-site.yml --ref main (the template has workflow_dispatch). Task 13's implementer makes this change and the acceptance run validates it. — Why: acceptance criterion 2 (empty folder to live site) depends on it. — Cost if wrong: one extra command in set-up. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:201 |
| R-2026-10-19-replication-skill-17 | 2026-10-19 | Task 13 runs in three parts. (a) Implementer: Ruling 12 change to SKILL.md set-up, plus the scratch project setup-test/ (git init, README); commit and push main. (b) Controller (as in Ruling 7): acceptance subagents with the installed skill — A: set-up with no remote (must stop, no file); controller then adds origin = replication-site-spike; B: set-up with the remote, then (follow-up message) one new decision D2 pushed, site updated. Authorized for B on fmegahed/replication-site-spike only: push (force allowed if the first push is rejected), Pages GET/POST/PUT, gh run list/watch, gh workflow run. (c) Implementer: end-of-milestone procedure for M1 in this repository. — Why: the implementer may not dispatch subagents; acceptance needs fresh agents that only have the skill. — Cost if wrong: more controller context. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:204 |
| R-2026-10-19-replication-skill-18 | 2026-10-19 | at the close of M1, M2 stays planned and no milestone is set to now, because the partner's next work (JEV image research, jev4imageqc) happens in another repository. — Why: the roadmap must be true; "set the next milestone to now" assumes work continues here. — Cost if wrong: one roadmap cell. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:213 |
| R-2026-10-19-replication-skill-19 | 2026-10-19 | ruling lines are matched by anchored forms (start of line; optional "- ", backtick, "Task n:"/"Final:" prefix), not "any line that contains Ruling:"; references updated; the approved design stays as written. — Why: the unanchored rule put a false ruling on the live site (A3). — Cost if wrong: a ruling in an unusual form is not shown. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:220 |
| R-2026-10-19-replication-skill-20 | 2026-10-19 | marked-then-KaTeX order kept, but math spans are shielded from marked. — Why: verified wrong math with no warning. — Cost if wrong: an edge case in the shield. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:221 |
| R-2026-10-19-replication-skill-21 | 2026-10-19 | relative images load from raw.githubusercontent.com. — Why: simplest fix for public repositories. — Cost if wrong: images in private repositories do not show. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:222 |
| R-2026-10-19-replication-skill-22 | 2026-10-19 | the parked-ruling residual is NOT fixed in this plan (one fix wave only). It is parked as open item O7 and surfaced to the partner: accept — Ruling[ n]: after a line-initial Final…:/Task n: parked prefix, with tests on the EXPERTA lines. This repository's ledger has no parked lines, so its site is complete. — Why: the process allows one final fix wave; the residual affects only ledgers where the review breaker tripped. — Cost if wrong: a future project's parked rulings are missing from its Decisions page until O7 is fixed. | Claude Code | Claude Code | ruling | - | plans/2026-10-19-replication-skill-ledger.md:226 |