Commit Graph
81 Commits
Author SHA1 Message Date
Tirsvad 4f6204c58e Resolve pending commit links for MIL-009 2026-10-08 13:45:56 +08:00
Tirsvad 08cb484498 Plan MIL-009: .claude, .agents and AGENTS.md are excluded from git
Add the phase MIL-009 (proposed 2026-12-21 to 2026-12-23): after the
framework is installed, the new project excludes .claude, .agents and
AGENTS.md through its own .git/info/exclude, so no tracked file changes.

The analysis and design documents agree with it: Business Case objective 5,
US-001.03, UC-001 (postcondition, step 9, extension 9f, a rule), OC-001 (P15
and two exceptions), SD-001, DCD-001 and DCD-002 (excludeFromGit,
trackedPaths), and the Framework Setup and Template definitions in DM-001,
DM-002 and the dictionary.

Refs #65
Refs #66
Refs #67
Refs #68
Refs #69
2026-10-08 13:45:41 +08:00
Tirsvad b1c1fbf178 Merge pull request 'Link the token how-to from the README credentials section' (#64) from howto-link-credentials into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 3s
Reviewed-on: #64
2026-10-08 07:06:45 +02:00
Tirsvad 993722b742 Link the token how-to from the README credentials section
The `.env` (credentials) section now points to howto/create-access-tokens.md
next to the Token permissions reference, so a reader who needs a token finds
the step-by-step guide where the credentials are described.
2026-10-08 13:06:01 +08:00
Tirsvad b0925a51aa Merge pull request 'Add a step-by-step how-to for the Gitea and GitHub tokens' (#63) from howto-access-tokens into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 3s
Reviewed-on: #63
2026-10-08 06:58:07 +02:00
Tirsvad 08d0371da5 Add a step-by-step how-to for the Gitea and GitHub tokens
howto/create-access-tokens.md walks through creating the Gitea access token
and the GitHub classic personal access token that RepoFoundry needs, with nine
illustrations in howto/img/, how to hand the tokens to the script, how to keep
them safe and what the script's token errors mean.

The README's Token permissions section now links to it.
2026-10-08 12:54:46 +08:00
Tirsvad b90050e6c4 Merge pull request 'Gitea is the only remote (MIL-008) and version 0.3.1' (#58) from mil-008-gitea-only-remote into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 7s
Reviewed-on: #58
v0.3.1
2026-10-08 05:44:59 +02:00
Tirsvad 538e44c3a5 Bump the version to 0.3.1
Task: MIL-008#4
2026-10-08 11:27:50 +08:00
Tirsvad 19de9cd9a5 Record S02's acceptance of MIL-008 and RC-031
- RC-031 is Accepted with a Go verdict and no open action items
- MIL-008 and the documents it changes are set to Accepted (previous rows
  Deprecated): BC-001, US-001, UC-001, OC-001, SD-001, DCD-001, DCD-002,
  DM-001, DM-002, MIL-003, PP-001 and TM-001
2026-10-08 11:27:49 +08:00
Tirsvad 310d776605 Resolve pending commit links for the MIL-008 task 4 2026-10-08 11:26:54 +08:00
Tirsvad 1056639d5b Add the version bump to MIL-008 as task 4
The version is raised to 0.3.1 and release v0.3.1 is tagged on Gitea from the
merge commit once the pull request is merged. MIL-008 gets task 4 and
criterion 7; RC-031 counts seven criteria.
2026-10-08 11:26:53 +08:00
Tirsvad 43c2bbb3de Resolve pending commit links for the MIL-008 plan 2026-10-08 11:13:31 +08:00
Tirsvad 79f6edeb38 Add only the origin remote to the local project
create_local_project no longer adds a github remote, with or without GitHub:
a push to origin reaches GitHub through the push mirror. A github remote that
already exists, such as one made by an earlier version, is left as it is, and
a different origin is still refused.

- Remove github_remote_url, which nothing else used
- README describes the one remote and how to remove an old github remote
- Tests: origin is the only remote with and without GitHub, no GitHub address
  in .git/config, and an existing github remote is kept

Task: MIL-008#1
Task: MIL-008#2
Task: MIL-008#3
2026-10-08 11:13:21 +08:00
Tirsvad 039a28c01b Plan MIL-008: the local project has origin as its only remote
A project created by the script had two remotes, origin (Gitea) and github.
Gitea already pushes to GitHub through the push mirror, so the second remote
is not needed and invites a push that goes around the mirror.

- MIL-008 and its review record RC-031
- Objective 4, US-001.03, UC-001 step 8, OC-001 P9, SD-001, DCD-001, DCD-002,
  DM-001 and DM-002 describe one remote; MIL-003 criterion 1 and task 1 follow
- Project plan and traceability matrix list MIL-008 and RC-031
2026-10-08 11:13:09 +08:00
Tirsvad f64c4bd2f0 Merge pull request 'Docs: record S02's acceptance of RC-022 to RC-030' (#57) from docs-accept-reviews into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 6s
Reviewed-on: #57
2026-10-07 10:38:55 +02:00
Tirsvad 26329c352e Resolve pending commit links for the accepted reviews 2026-10-07 16:38:38 +08:00
Tirsvad 0b0a3b419a Record S02's acceptance of RC-022 to RC-030
- Review records RC-022 to RC-030 are Accepted
- The documents they review are set to Accepted (previous rows Deprecated)
- RC-028 and RC-029: Go-with-conditions becomes Go; the two action items are closed
- OC-001, SD-001 and DCD-001 carry a note that the UC-002 documents supersede the startProjectCreation signature
2026-10-07 16:38:36 +08:00
Tirsvad d174a7ce88 Merge pull request 'Docs: record the user-owner end-to-end run (A2) in RC-017' (#56) from mil-004-configurable-details into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 2s
Reviewed-on: #56
2026-10-07 10:13:35 +02:00
Tirsvad 8c1e7a9477 Merge pull request 'Docs: .env is optional, config.env is required (UC-002, US-002, OC-002, DCD, MIL-007) and review RC-030' (#55) from mil-006-license into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 3s
Reviewed-on: #55
2026-10-07 09:40:34 +02:00
Tirsvad bc27f40de1 Define the SD-002 link in RC-030 2026-10-07 15:05:06 +08:00
Tirsvad e0461746ee Resolve pending commit links for the .env wording 2026-10-07 15:04:55 +08:00
Tirsvad 24f15070fc Make the wording agree with the optional .env: UC-002, US-002, OC-002, DCD, MIL-007; review record RC-030
- config.env is required; a .env found nowhere means the token is asked
- RC-030 reviews the change

Task: MIL-007#2
Task: MIL-007#4
Refs #48
Refs #51
2026-10-07 15:04:52 +08:00
Tirsvad 35601009bc Merge pull request 'Implement MIL-006 and MIL-007: project license, qc submodules, link start, default configuration files' (#54) from mil-006-license into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 3s
Reviewed-on: #54
2026-10-07 09:03:19 +02:00
Tirsvad 049075957a Merge origin/mil-006-license: .env stays optional, config.env is required 2026-10-07 14:34:04 +08:00
Tirsvad ed79da4e34 Merge main into mil-006-license 2026-10-07 14:19:41 +08:00
Tirsvad fcc155a8ff Merge pull request 'Implement MIL-007: qc submodules fetched, start through a link, default configuration files' (#53) from mil-007-impl into mil-006-license
Reviewed-on: #53
2026-10-07 08:17:22 +02:00
Tirsvad 3204e20cac MIL-007: fix the new tests and document starting from any folder
- README: start from the folder where the project is created, make the script a global command, where config.env and .env are read from and the confirmation
- Tests: qc tests set up the temp directory and force a real failure; the default-files test runs from a folder without files of its own; the link test allows for path aliases; the work directory cleanup deletes links

Task: MIL-007#3
Task: MIL-007#4
Refs #49
Refs #51
2026-10-07 14:09:27 +08:00
Tirsvad 1a283430b3 WIP MIL-007: fetch the framework's qc, follow links, default configuration files
- git submodule update --init --recursive after adding or reusing the framework
- Follow links to the script so SCRIPT_DIR and the checkout are the real ones
- config.env and .env: --config/--env, else ./ in the working folder, else the checkout's
- Name the files used; a file from the working folder needs a yes before any request
- MIL-007 accepted; test fixtures for the qc checklists; tests/test-launch.sh

Work in progress: the README section is not written yet, and four tests of
test-launch.sh fail and two shellcheck warnings remain; they are fixed next.

Task: MIL-007#1
Task: MIL-007#2
Refs #47
Refs #48
Refs #51
2026-10-07 13:40:42 +08:00
Tirsvad 875dfba1b2 Use a public project in the test that reuses a repository holding LICENSE and README.md
A private project with GitHub no longer gets a license, so only a public one expects it.

Task: MIL-006#4
Refs #50
2026-10-07 13:28:47 +08:00
Tirsvad e960dd9da8 Set the project license in config.env; AGPL-3.0 default only for a public GitHub project
- PROJECT_LICENSE (a Gitea license key, or none) is read, checked and never asked
- Without it AGPL-3.0 applies only when GitHub is chosen and the project is public
- The license is applied on Gitea with or without GitHub, and checked against the server first
- Plan and summary name the license and where it came from
- MIL-006 accepted; README and config.env.example document the key
- Tests: new test-license.sh; existing tests use a public project where they expect AGPL-3.0

Task: MIL-006#1
Task: MIL-006#2
Task: MIL-006#3
Task: MIL-006#4
Refs #44
Refs #45
Refs #46
Refs #50
2026-10-07 13:08:49 +08:00
Tirsvad b324acbfae Resolve pending commit links for the default configuration files 2026-10-07 12:42:08 +08:00
Tirsvad 0ab50068bf Plan the default configuration files: working folder first, then the checkout
- --config and --env, else ./config.env and ./.env, else the checkout's
- Files named before any request; a file from the working folder needs a yes
- UC-002, US-002, MIL-007 criteria 9 and 10, models and contracts updated
- Review record RC-029
2026-10-07 12:42:05 +08:00
Tirsvad 88b4e5ce6c Resolve pending commit links for the task renames 2026-10-07 12:38:02 +08:00
Tirsvad be759e3832 Give the test tasks of MIL-006 and MIL-007 their own titles
The sync matches issues by title, so Test every case moved issue #39 of MIL-005.
2026-10-07 12:38:01 +08:00
Tirsvad fe6e5a4ba0 Merge pull request 'Plan MIL-006 and MIL-007 and UC-002: public-only AGPL default, qc fetch, global command' (#43) from mil-006-plan into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 3s
Reviewed-on: #43
2026-10-07 06:34:56 +02:00
Tirsvad 250df38d79 Resolve pending commit links for MIL-007, UC-002 and the license rule 2026-10-07 12:31:07 +08:00
Tirsvad 1cd27f77ed Plan MIL-007 and UC-002; AGPL-3.0 default only for a public GitHub project
- MIL-006: the AGPL-3.0 default needs GitHub and a public project
- MIL-007: fetch the framework's own submodules (qc); start through a command link; README usage
- UC-002 with SSD, DM, OC, SD and DCD; US-001.07 and US-002
- Reconcile the project DM, DCD, dictionary, use case diagram and traceability matrix
- Review records RC-022 to RC-028
2026-10-07 12:30:58 +08:00
Tirsvad ea7e25b65d Merge pull request 'Plan MIL-006: the project license set in config.env' (#42) from mil-006-plan into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 3s
Reviewed-on: #42
2026-10-06 08:16:43 +02:00
Tirsvad aca4eed377 Merge pull request 'MIL-005: ask for missing credentials and create the project's own .env' (#41) from mil-005-credentials into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 4s
Reviewed-on: #41
2026-10-06 08:16:31 +02:00
TirsvadandClaude Sonnet 5.5 5b66eff809 Resolve pending commit links for the MIL-006 plan
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 13:43:39 +08:00
TirsvadandClaude Sonnet 5.5 d773fa91df Plan MIL-006: the project license set in config.env
Add objective 10 to the Business Case, US-001.06 and the use case, SSD, OC,
SD, DM-001, DM-002, dictionary, DCD-001 and DCD-002 changes: a license set
in config.env (PROJECT_LICENSE, a Gitea license key or none) applies with or
without GitHub; when absent AGPL-3.0 applies only when GitHub is chosen. It
is never asked, and a license the server does not offer stops the run
before anything is created.

Add milestone MIL-006 (8 Go/No-Go criteria, 4 tasks) and its phase in the
Project Plan. All new rows are Proposed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 13:43:35 +08:00
TirsvadandClaude Sonnet 5.5 05a7159c18 Ask for missing credentials and create the project's own .env
.env becomes optional. A credential it does not provide (an absent file, an
absent or empty key) is asked, without echo: GITEA_TOKEN at the start,
GITHUB_PAT and GITHUB_USER once GitHub is chosen. An invalid value is asked
again and never shown; when input ends the run stops before any request.
Asked tokens are registered for redaction at once.

After the local project exists the script asks (default no) whether to
create a .env in it. On a yes it holds only the needed keys, is created
private (mode 600) from the start, is excluded from git through
.git/info/exclude (no tracked file changes), is never replaced without a
second yes and is never written when git tracks it. The summary names the
keys, never the values.

New library files credentials.sh and envfile.sh; README, .env.example and
the security decisions updated; tests cover every case.

Task: MIL-005#1
Task: MIL-005#2
Task: MIL-005#3
Task: MIL-005#4
Task: MIL-005#5
Closes #35
Closes #36
Closes #37
Closes #38
Closes #39

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 13:29:01 +08:00
Tirsvad 3804ef7556 Merge pull request 'Add the Design Class Diagrams and plan MIL-005 (credentials asked, project .env)' (#40) from dcd-uc-001 into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Failing after 4s
Reviewed-on: #40
2026-10-06 07:01:40 +02:00
TirsvadandClaude Sonnet 5.5 7d202a34dc Resolve pending commit links for the MIL-005 plan
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 12:47:33 +08:00
TirsvadandClaude Sonnet 5.5 ded26a658c Plan MIL-005: ask for missing credentials and create the project .env
Add objective 9 to the Business Case (and amend objective 6 and success
criterion 1: a token may be written only to the new project's .env after a
yes), US-001.05, UC-001 extensions 2b, 9c and 9d, with the SSD, OC, SD,
DM-001, DM-002 and dictionary in step. Add the classes CredentialCollector,
EnvFileWriter and EnvFile to DCD-001 and DCD-002, and both ends'
multiplicities to every association. Restore three lines of SD-001 damaged
by an earlier edit.

Add milestone MIL-005 (9 Go/No-Go criteria, 5 tasks) and its phase in the
Project Plan. Accept the planning set and the two DCDs; reviews recorded in
RC-020 and RC-021.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 12:47:26 +08:00
TirsvadandClaude Sonnet 5.5 4c9a1af719 Resolve pending commit links for the DCDs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 12:35:47 +08:00
TirsvadandClaude Sonnet 5.5 f4d611b77c Add the Design Class Diagrams DCD-001 and DCD-002, align SD-001
- DCD-001 (UC-001): design classes refining DM-001, with class table,
  method traceability to OC-001 and SD-001, patterns and dependency check,
  and the mapping of each class to src/lib.
- DCD-002: the consolidated project-level model, created from DCD-001.
- SD-001: messages aligned with the DCD method signatures; cites DCD-001.
- Dictionary, registry and traceability matrix updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 12:35:45 +08:00
TirsvadandClaude Sonnet 5.5 53b6c274ac Resolve pending commit link for RC-017
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 01:56:10 +08:00
TirsvadandClaude Sonnet 5.5 ef87e73954 Record the user-owner end-to-end run (run A2) in RC-017
The repeated run with a write:user token passes on both hosts, so
criterion 7 is now Pass; only the README review (criterion 6) remains.

Refs #20

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 01:56:09 +08:00
Tirsvad cf265e8f66 Merge pull request 'MIL-004: project details preset in config.env (with the e2e fixes and the plan)' (#34) from mil-004-configurable-details into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Reviewed-on: #34
2026-10-05 18:28:47 +02:00