Files
RepoFoundry/docs/milestones/mil-003-scaffold-and-release.md
T
TirsvadandClaude Sonnet 5.5 02875aee5f Accept planning baseline and UC-001 artifacts
Add the Use Case Diagram, Domain Model (use case and project), Dictionary,
Operation Contract, Sequence Diagram, review records RC-001 to RC-015 and
the Traceability Matrix. Split US-001 into one story per milestone, make
GitHub optional (AGPL license applied when chosen), and accept BC-001,
SA-001, PP-001, UCD-001, US-001, UC-001, SSD-001, DM-001, DM-002, OC-001,
SD-001, DICT-001 and MIL-001 to MIL-003 after review.

Refs: no issues synced yet (sync-project.sh dry run only)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-05 13:41:36 +08:00

5.8 KiB

MIL-003 Scaffold and Release

Metadata

Key Value
ID MIL-003
CrossReference BC-001, US-001, UC-001

Version History

Date Status Author Reviewer Change Commit
2026-10-05 Deprecated Jens Tirsvad Nielsen S02 Initial version 424f14f
2026-10-05 Accepted Jens Tirsvad Nielsen S02 Optional GitHub; choosing GitHub applies the AGPL license to the Gitea repository
Cited US-001.03
Traces to objective 7
Criterion 2 names the framework URL
Target date accepted
pending

Purpose

Decide whether the project is ready to release: the local project is scaffolded with the framework, the documentation is complete and an end-to-end review found no credential, ownership or mirror-direction defect.

Deliverable

Complete create-project.sh (local directory, credential-free remotes, framework submodule, skills, hooks, templates, optional plan gate), README.md, and a written final review with the list of external prerequisites.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 git remote -v shows origin (Gitea) and, when GitHub was chosen, github, with no credentials in any URL; with GitHub chosen the local history contains the license commit Verified Any credential, or a missing license commit
2 framework is a submodule of ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git and the install scripts have run once, in the documented order Verified Missing or repeated
3 An existing directory, AGENTS.md or docs/artifact-registry.md is never overwritten without a yes Verified by a second run Overwritten
4 With the plan gate enabled, a commit touching src/ or tests/ without a Task: MIL-NNN#N trailer is refused Verified Accepted
5 An existing core.hooksPath is reported and not replaced without consent Verified Replaced silently
6 README covers installation, configuration, usage examples, security decisions, error handling and stakeholders, in clear English Reviewed by S02 Section missing
7 End-to-end run on disposable repositories passes and the final review records no open security finding Recorded in an RC-* Open finding
8 All acceptance criteria of US-001.03 in US-001 are met Verified Any unmet

Dependencies

Depends on Reason
MIL-002 Needs the remote repositories and the mirror

Traceability

Business Case objective / KPI / user story Reference
User story US-001.03 US-001
Objectives 4, 5, 6 and 7 BC-001
Success criteria 1, 5, 6 and 7 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S02

Target Date

2026-11-13 — the Business Case sets no deadline, so it does not constrain this date; accepted together with PP-001.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Create the local project directory and credential-free remotes After consent, create the directory (refuse to reuse an existing one without a yes), run git init on main, and add origin (Gitea) and, only if GitHub was chosen, github using URLs derived from the configured base URLs and the selected owners, with no token in any URL. origin uses HTTPS derived from GITEA_URL, unless the SSH test from the preflight passed, in which case it uses SSH on port 10022. When the Gitea repository is not empty (GitHub chosen, AGPL license), fetch it and check out its default branch so the local history starts from the license commit. Do not make a commit. Yes UC-001
2 Add the framework submodule From the project directory run git submodule add ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git framework. Check beforehand that SSH on port 10022 works and stop with an actionable message if not. Document that this SSH access must be configured. Yes UC-001
3 Install skills and git hooks, with optional plan gate Run framework/scripts/install-skills.sh and install-git-hooks.sh. The hook installer only sets core.hooksPath to framework/githooks and is safe to rerun, but it would replace a different existing value, so read the current value first and ask. Offer --enable-plan-gate as an optional choice, which requires a Task: MIL-NNN#N trailer on commits changing src/ or tests/. Yes UC-001
4 Copy the framework templates without overwriting Copy AGENTS-template.md to AGENTS.md and artifact-registry-template.md to docs/artifact-registry.md after mkdir -p docs, asking before replacing an existing file. Yes UC-001
5 Write README.md Clear English for GitHub readers: installation, configuration (config.env, .env), usage examples, security decisions, error handling and partial-failure recovery, the SSH prerequisite for port 10022, token permissions, and the stakeholders: Tirsvad (Product Owner and maintainer, https://www.linkedin.com/in/tirsvad74), Michael Kragh (DevOps, cybersecurity and maintainer, https://www.linkedin.com/in/codemikemike/) and GitHub readers. No
6 End-to-end test and final security review Run the whole flow against disposable repositories for a user owner and an organization owner. Review credential handling, repository ownership, mirror direction, submodule setup and API limitations, record the result in an RC-* review, and summarise the files created and the external prerequisites. No