AI Use Log¶
The rubric requires that AI use is disclosed and that generated work is verified. Add an entry whenever an AI tool (Claude, ChatGPT, Copilot, Cursor, etc.) materially contributed to code, text, analysis, or design. Small autocomplete does not need an entry; anything you would not have written the same way without the tool does.
Rules - Log the entry in the same pull request as the work it describes. - "Verified by" must name the human who read, ran, or tested the output before it was merged. - Never paste dataset content containing personal data into an external AI tool. - The final report's AI disclosure statement is generated from this log.
| Date | Member | Tool and model | What it was used for | Output location (file / PR / issue) | Verified by | How it was verified |
|---|---|---|---|---|---|---|
| 2026-09-13 | Jerad Dunne | Claude Code (Claude Fable 5.1) | Generated the initial repository scaffold: process documents, templates, issue forms, workflows, pipeline skeleton, Lean Six Sigma tracking layer, voting and metrics scripts. | Initial commit | Not yet verified (owner: Jerad Dunne) | Automated only: tests and lint passed when generated. A human read-through is still required. Corrected 2026-09-14; the original row claimed a human review that had not happened. |
| 2026-09-14 | Jerad Dunne | Claude Code (Claude Opus 5) | Built the team workspace (work sign-up, findings log, decision log, digest script, two issue forms); built the P-01 pilot scanner, rule file, and tests; ran the pilot on the GitSkills sample and recorded findings F-006 to F-018; drafted proposal P-01 and its issue text from the proposer's repositories and pilot results. | docs/workspace/, docs/proposals/P-01-jerad-dunne-skill-risk-propagation.md, rules/, src/msr_pipeline/skill_risk.py, src/msr_pipeline/workspace.py, tests, results/pilot_skill_risk_* |
Jerad Dunne, for the proposal text and background statements (2026-09-14); code not yet human-reviewed | Automated: full test suite and ruff pass; every pilot number regenerates with python -m msr_pipeline risk-pilot. Proposal P-01 and its section 4 statements read and confirmed by Jerad Dunne on 2026-09-14. |
| 2026-09-14 | Jerad Dunne | Claude Code (Claude Opus 5) | Solo build: converted the process documents from a four-person group to a solo project (working agreement, decision records ADR-0004 and ADR-0005, decision log, sprint templates, KPIs, FMEA), built the P-01 analysis pipeline and statistics, the validation kit, and a report draft. | PRs for solo conversion, analysis, validation kit, report draft | Not yet verified (owner: Jerad Dunne) | Automated tests and lint pass; human review happens in each pull request before merge |
| 2026-09-15 | Jerad Dunne | Claude Code (Claude Opus 5) | Reinstated the four-person group: ADR-0006, working agreement v2.0 with unsigned rows, restored onboarding and sign-up forms, teammate second-rater protocol, group process documents | process/group-reinstated pull request | Pending review by a member other than the author | Automated tests and lint pass; reviewed in the pull request |
| 2026-09-19 | Jerad Dunne | Claude Code (Claude Opus 5) | Phase B interview of the Google Notebook (Gemini Notebook, account jeraddu@umich.edu). Claude drove the browser: created the notebook, set its custom instructions, checked that all 24 uploaded sources imported, asked the 18 prepared questions word for word, and captured each answer with its citations. Answers were copied from the page and checked byte for byte against SHA-256 prefixes computed in the page, so no answer text is paraphrased. Claude drafted the verification and the team interpretations. | elicitation/google-notebook-interview.md, elicitation/google-notebook/answers.json, elicitation/google-notebook/notebook-instructions.txt |
Pending: Jerad Dunne reads the record before the pull request; a second member reviews it | Every answer's SHA-256 prefix matches the page; every claim about the data re-checked with python scripts/check_interview_claims.py; five overstatements by the notebook are recorded in section 4 of the record |
| 2026-09-18 | Jerad Dunne | Claude Code (Claude Opus 5) | Requirements engineering (Group Assignment 2). Built the elicitation notebook (source-pack builder, BM25 search module, notebook, elicit command, tests); ran the Phase B interview (15 questions plus 3 follow-ups); wrote the read-only data checks V01 to V18; drafted the team interpretations and verification in elicitation/notebook-interview.md; wrote RESEARCH_SPEC.md (29 requirements) and its acceptance-test runner scripts/verify_spec.py; corrected the SpecMine version label in data/README.md and the pandas and pyarrow bounds in requirements.txt after verification caught them. The notebook's answers are verbatim source passages, not generated text. No dataset content was sent to an external AI tool beyond aggregate counts. |
elicitation/, notebooks/01_elicitation_notebook.ipynb, src/msr_pipeline/elicitation.py, scripts/build_notebook_sources.py, scripts/check_interview_claims.py, scripts/verify_spec.py, RESEARCH_SPEC.md, tests/test_elicitation.py |
Pending: Jerad Dunne reads the interview record and spec before opening the pull request; a second member reviews it | Automated: full test suite and ruff pass; make verify-spec result in results/spec_verification.csv; every quoted answer regenerates with python -m msr_pipeline elicit; every data claim regenerates with python scripts/check_interview_claims.py |
| 2026-09-23 | Jerad Dunne | Claude Code (Claude Opus 5.5) | DR-04 (#58): counted the inputs the script scanner cannot read (script files without text, truncated and missing folder listings, unrecovered content), excluded unrecovered content from the main population, and reported script results with and without truncated listings; updated DATA_DICTIONARY.md, RESEARCH_SPEC.md, and scripts/verify_spec.py. Ran NFR-02 (#57) and recorded the result. Also opened issues #57 to #61 and edited the #55 description at the author's request. No dataset content was sent to an external AI tool beyond aggregate counts. |
src/msr_pipeline/analysis.py, src/msr_pipeline/skill_risk.py, tests, results/, DATA_DICTIONARY.md, RESEARCH_SPEC.md, scripts/verify_spec.py, README.md |
Pending: review by a member other than the author in the pull request | Automated: full test suite and ruff pass; python scripts/verify_spec.py --determinism result in results/spec_verification.csv |
| 2026-09-23 | Jerad Dunne | Claude Code (Claude Opus 5.5) | At the owner's direction, recorded Allie Hodges's and Hina Kramer's unsigned charter rows and missing contributions, and reassigned lineage and signals rating to the primary rater with an intra-rater design (D-022); updated VR-01 to VR-03 and their checks; cleaned up stale local branches. | #63, RESEARCH_SPEC.md, scripts/verify_spec.py |
Pending: review by a member other than the author | Automated: tests and ruff pass; make verify-spec |
| 2026-09-30 | Jerad Dunne | Claude Code (Claude Opus 5.5) | Kaizen #69: drafted the no-git path (docs/NO_GIT_GUIDE.md, the guided-task issue form, the Windows launchers in windows/, scripts/fresh_run_check.py with tests, the MkDocs site configuration and Pages workflow, and pointers in README.md and docs/GETTING_STARTED.md) and opened issue #69. Earlier the same day it built the team meeting's status page (a claude.ai page, not in the repository) from results/*.csv and GitHub. No dataset content was sent to an external AI tool beyond aggregate counts. |
#69, the files listed | Pending: review by a member other than the author | Automated: new tests and ruff pass; all four launchers were run from a ZIP-style copy of the branch with no .git: setup, the fresh-run check (14 of 14 result files identical to results/), and the labelling pair with a throwaway rater id in that copy only; the site was built locally with mkdocs build. The fresh-run check ran on the author's machine, so it is not the non-author S1-10 check |
| 2026-09-30 | Jerad Dunne | Claude Code (Claude Opus 5.5) | #71: tested reproduction in clean environments (Docker python:3.12.10-slim-bookworm pinned to the analysis manifest's versions, and stock ubuntu:26.04 following the README literally), found that make setup fails on stock Ubuntu, and wrote the fix (Makefile, run_pipeline.sh), the Dockerfile and docker/check.sh, the manual container-check workflow, the numeric tolerance in scripts/fresh_run_check.py with tests, and docs/REPRODUCE.md; opened issue #71. No dataset content was sent to an external AI tool beyond aggregate counts. |
#71, the files listed | Pending: review by a member other than the author | Automated: ruff and tests pass; the container check passes all four stages; the README walk on ubuntu:26.04 is recorded in docs/REPRODUCE.md |
| 2026-09-30 | Jerad Dunne | Claude Code (Claude Opus 5.5) | Kaizen #73: wrote the Group 9 Project Guide web app (app/: views, GitHub client, practice mode, document forms, lessons, and the JavaScript formulas for the worked examples), scripts/export_app_data.py, scripts/app_reference_values.py, their tests, the CI job, and links in README.md and docs/NO_GIT_GUIDE.md; opened issue #73. The lessons' explanations are AI-drafted and need a human read for accuracy and tone. No dataset content was sent to an external AI tool beyond aggregate counts. |
#73, app/, the files listed |
Pending: review by a member other than the author, and a first live sign-in by a member | Automated: 35 Node tests (formulas checked against the Python pipeline's answers, rule examples, document forms on the real files, GitHub calls against a fake GitHub, practice mode never writes) and pytest; every page rendered in headless Edge signed out and in practice mode, desktop and 380 px wide, with no console errors |
| 2026-10-01 | Hina Kramer | ChatGPT (model version not recorded) | Guided Windows/Python setup and pipeline execution; helped interpret the generated report, draft the reproduction record, and navigate GitHub edits. | docs/sprints/sprint-1/review.md; ai-use-log.md; related to #52 |
Hina Kramer (local pipeline execution); documentation and teammate review pending | Ran windows/2-run-pipeline.bat on Windows 11 with Python 3.14.8 at commit 4cfa6108aeee. The generated report showed 14 of 14 files identical after normalizing line endings; analysis took 2.6 minutes. |
| 2026-10-01 | Hina Kramer | ChatGPT (model version not recorded) | Helped prepare review-feedback drafts for PRs #75 and #76; drafted and updated the reflection and PR description; guided Windows setup, testing, and GitHub edits; removed duplicated text from this log. | docs/reflections/hinak786.md; PR #78; reproduction and test evidence in PR #79; review-feedback drafts for PRs #75 and #76 |
Hina Kramer (local pipeline and test execution); final reflection accuracy review and teammate review pending | Local output showed 14 of 14 result files matched and 166 tests passed with 96% coverage. The comment review on PR #76 was submitted; submission of feedback on PR #75 is not confirmed. PR #76's exact activation instructions were not tested. Reflection remains a working draft. |
| 2026-09-28 | Jerad Dunne | Claude Code (Claude Opus 5.5) | ADR-0007 (#67): drafted the decision record, first proposing the full dataset (option 4) and then, after the Product Owner chose to keep the sample, revising it to option 1; took the measurements it cites (dataset file sizes and revision from the Hugging Face API, scan times on the sample scaled to the full dataset, family sizes, and the RQ3 counts with a rerun of family_pairs at 0.3); updated the ADR index and decision-log row D-023; drafted the PR description. The decision itself was made by the Product Owner. No dataset content was sent to an external AI tool beyond aggregate counts. |
docs/decisions/ADR-0007-sample-population.md, docs/decisions/README.md, docs/workspace/DECISION_LOG.md, PR #68 |
Leticia Aderhold: reviewed all three files on 2026-09-29 and found them consistent with the decision log and ADR index | Figures are traceable to the sources listed in PR #68's "How it was tested" table; Leticia's review checked consistency |
| 2026-09-28 | Jerad Dunne | Claude Code (Claude Opus 5.5) | Drafted the description of PR #66 (Sprint 1 baseline metrics snapshot). The snapshot data was produced by scripts/lss_metrics.py in the weekly metrics workflow, not by AI. Logged here because a new commit on #66 would dismiss its approval. |
PR #66 description | Leticia Aderhold: review of PR #66 (approved 2026-09-30) | Leticia read the six-file diff and the description against the snapshot files |
| 2026-09-27 to 2026-10-01 | Hina Kramer | ChatGPT (model version not recorded) | Explained onboarding; helped draft profile strengths, learning goals, PR description, and this disclosure; provided charter-signature and GitHub workflow guidance. | docs/team/hina-kramer.md; TEAM_CHARTER.md; ai-use-log.md; PR #77 |
Hina Kramer — reviewed profile accuracy and Markdown formatting on 2026-10-01; teammate review pending. | Onboarding documentation assistance; no research results generated. |
| 2026-10-01 | Jerad Dunne | Claude Code (Claude Opus 5.5) | #80: rewrote the labelling page (src/msr_pipeline/label_ui.py) into a guided labelling studio: a briefing per kind, guideline text parsed from ANNOTATION_GUIDELINE.md when the page is built, rule cards, highlighting of the matched text, a step-through of the guideline's decision order, reason checks, escalate and truncated notes, a break reminder, and a summary. Passed the rule file to the page from annotation_kit.py, wrote the tests, and corrected the round 2 gap in the page and docs/validation/README.md (14 days for signals and lineage, D-022). It did not label any item: the studio never suggests or fills in a label. Dataset text was used only to test the page locally, under a throwaway rater id; nothing was sent to an external AI tool beyond aggregate counts. |
#80, src/msr_pipeline/label_ui.py, scripts/annotation_kit.py, tests/test_label_ui.py, docs/validation/README.md, app/views/learn.js |
Pending: review by a member other than the author, and a first session by a rater | Automated: 171 tests and ruff pass; a browser harness on the real round 1 packets passed 32 checks (the briefing gates labelling, nothing is pre-filled, the decision order reaches the guideline's labels, reason checks, the CSV keeps its exact format) |
| 2026-10-02 | Hina Kramer | ChatGPT (model version not recorded) | Drafted and formatted the October 2 stand-up entry from recorded GitHub activity and Hina's reported work time. | docs/meeting-notes/2026-09-28-standup-week.md; related to #39 and #52 |
Pending human review (owner: Hina Kramer); teammate review pending | Hina supplied 2 hours for October 2. Activity was checked against GitHub records for PR #78 and issues #52 and #82. Markdown table structure was checked programmatically. This documentation change does not generate or re-run pipeline results. |
| 2026-10-04 | Jerad Dunne | Claude Code (Claude Opus 5.5) | #85: extended the labelling studio (src/msr_pipeline/label_ui.py) with Load CSV, a save reminder, a work log (active time, first and last label, label changes, optional confidence, and which guideline 2.2 question settled each false positive) and a Metrics view; wrote the Excel labelling workbook (src/msr_pipeline/label_xlsx.py, annotation_kit.py xlsx), the workbook and work-log import, docs/validation/LABELLING_WORKFLOW.md, and the tests. Neither tool suggests or fills in a label. Claude read a few reading packets (dataset excerpts) to learn their format for the excerpt parser; it labelled nothing. |
#85, the files listed | Pending: review by a member other than the author | Automated: 179 pytest tests and ruff pass; 40 browser checks of the studio in headless Edge under a throwaway rater id (zz); the workbook's metric formulas, recalculated in LibreOffice, equal validation.py on 349 values computed from synthetic test labels for rater zz, with no formula errors |
| 2026-10-06 | Jerad Dunne | Claude Code (Claude Opus 5.5) | ADR-0007 (#67), after review: merged main into the branch (kept both sides of the ai-use-log.md conflict), qualified what the validation would carry over to a full-dataset study (signal items yes, sampled pairs to be reassessed), and added the template sensitivity of RQ3 from results/rq3_summary.csv that Hina Kramer pointed out; rewrote the title and description of PR #66 for the 2026-10-04 snapshot. No dataset content was sent to an external AI tool beyond aggregate counts. |
docs/decisions/ADR-0007-sample-population.md, PR #68, PR #66 description |
Pending: re-review by Leticia Aderhold | The RQ3 figures were checked against results/rq3_summary.csv on main; the #66 figures against docs/lean-six-sigma/metrics/DASHBOARD.md on metrics/weekly |
| 2026-10-07 | Jerad Dunne | Claude Code (Claude Opus 5.5) | ADR-0007 follow-ups on acceptance (#67): status set to Accepted, D-023 set to Agreed in the decision log, FMEA R01 closed, ADR-0007 added to the NFR-04 trace and to section 9 of RESEARCH_SPEC.md, F-006 marked re-measured and F-032 added from the ADR's measurements. No dataset content was sent to an external AI tool. |
docs/decisions/ADR-0007-sample-population.md, docs/workspace/DECISION_LOG.md, docs/lean-six-sigma/FMEA_RISK_REGISTER.md, RESEARCH_SPEC.md, docs/workspace/FINDINGS_LOG.md |
Pending: review by a member other than the author | Every figure in F-032 and the F-006 note is copied from ADR-0007 as merged in #68; scripts/verify_spec.py run on the branch |
| 2026-10-07 | Jerad Dunne | Claude Code (Claude Opus 5.5) | Pre-filled the Sprint 1 review page (#20): sprint goal assessment (proposed), rubric evidence for repository practice and the retrospective, the acceptance-criteria table, team status, KPIs from a scripts/lss_metrics.py run on 2026-10-07, and proposed backlog changes; added a blank line so the Gemba walk table renders; drafted Jerad Dunne's approving review of the retrospective draft (#87) after checking its figures against DASHBOARD.md. No dataset content was sent to an external AI tool. |
docs/sprints/sprint-1/review.md |
Pending: review by a member other than the author, and confirmation at the Sprint 1 review | Every relative link and anchor checked to resolve; PR counts from the GitHub pull request list; KPIs from the script's output |
| 2026-10-16 | Jerad Dunne | Claude Code (Claude Opus 5.5) | At the owner's direction (Hina Kramer second-rates lineage; Jerad Dunne keeps signals and drift): drafted D-024 and D-025 and the edits that follow from them (validation README, work sign-up section 6, RESEARCH_SPEC VR-02, threats P6 and N5, VR-01 to VR-03 in verify_spec.py, charter v2.1, project.yml, team pages, sprint 3 and meeting templates); wrote docs/sprints/sprint-2/instructor-feedback.md from the Canvas comment and notes of the 2026-10-14 feedback session; drafted docs/research/REVIEW_WORKFLOW.md and scripts/make_workflow_diagrams.py (UML use case and activity diagrams). The instructor's feedback video was not transcribed (no captions available). No dataset content was sent to an external AI tool. |
Branch process/53-sprint-2-raters-feedback |
Not yet verified (owner: Jerad Dunne) | make test: 179 passed; app tests: 35 passed; verify_spec.py --only VR-01 VR-02 VR-03 shows the D-024 wording; both diagrams rendered and checked by eye. The owner reads every changed page before requesting review |