Close Trainlog Gate 0
This commit is contained in:
parent
bc54d6b4ce
commit
ebd4316ed6
4 changed files with 57 additions and 11 deletions
|
|
@ -22,6 +22,7 @@ The project uses a simple pre-release changelog during early development.
|
|||
|
||||
### Changed
|
||||
|
||||
- Gate 0 project contract review completed successfully.
|
||||
- `ended_at` is optional for active or interrupted sessions.
|
||||
- Repetition and timed exercise modes are now mutually exclusive.
|
||||
- Exercise display-name anti-duplication semantics are defined.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Current state:
|
|||
|
||||
```text
|
||||
TRAINLOG_FORMAT_V1=DRAFT
|
||||
GATE_0=VALIDATION_PENDING
|
||||
GATE_0=PASS
|
||||
```
|
||||
|
||||
Incompatible changes are allowed until the format is explicitly marked `FROZEN`.
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
## Status
|
||||
|
||||
```text
|
||||
GATE_0_REVIEW_01=IMPLEMENTED
|
||||
GATE_0=VALIDATION_PENDING
|
||||
GATE_0_REVIEW_01=PASS
|
||||
GATE_0=PASS
|
||||
TRAINLOG_FORMAT_V1=DRAFT
|
||||
```
|
||||
|
||||
|
|
@ -116,13 +116,44 @@ Expected result:
|
|||
- every invalid fixture reports `PASS invalid`;
|
||||
- `git diff --check` prints nothing.
|
||||
|
||||
## Validation evidence
|
||||
|
||||
Canonical local validation reported:
|
||||
|
||||
```text
|
||||
python tools/validate_json.py
|
||||
PASS
|
||||
```
|
||||
|
||||
Every positive fixture was accepted.
|
||||
|
||||
Every negative fixture was rejected for the intended reason.
|
||||
|
||||
`git diff --check` produced no output.
|
||||
|
||||
Reviewed commit:
|
||||
|
||||
```text
|
||||
bc54d6b4ce10d098916823b6a79f72b39d9c7703
|
||||
Harden Trainlog v1 exchange contract
|
||||
```
|
||||
|
||||
The pushed GitHub mirror was read back and the review changes were verified.
|
||||
|
||||
## Gate decision
|
||||
|
||||
Review #1 does not itself mark Gate 0 as PASS.
|
||||
```text
|
||||
GATE_0_REVIEW_01=PASS
|
||||
GATE_0=PASS
|
||||
```
|
||||
|
||||
Gate 0 becomes eligible for PASS after:
|
||||
Gate 0 is closed.
|
||||
|
||||
1. the canonical local validation succeeds;
|
||||
2. the review is committed;
|
||||
3. the commit is pushed to Forgejo and GitHub;
|
||||
4. the mirrored repository is reviewed.
|
||||
The exchange format remains deliberately unfrozen:
|
||||
|
||||
```text
|
||||
TRAINLOG_FORMAT_V1=DRAFT
|
||||
```
|
||||
|
||||
Gate 1 is responsible for completing the remaining format decisions and
|
||||
freezing `TRAINLOG_FORMAT_V1`.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,14 @@
|
|||
|
||||
## Gate 0 — Project contract
|
||||
|
||||
Status: VALIDATION PENDING — REVIEW #1
|
||||
Status: PASS
|
||||
|
||||
Canonical result:
|
||||
|
||||
```text
|
||||
GATE_0=PASS
|
||||
GATE_0_REVIEW_01=PASS
|
||||
```
|
||||
|
||||
Deliverables:
|
||||
|
||||
|
|
@ -26,7 +33,14 @@ Exit criteria:
|
|||
- semantic invariants are documented;
|
||||
- repository clean after commit.
|
||||
|
||||
Gate 0 is not PASS until the review #1 validation commands pass in the canonical working tree and the resulting commit is pushed.
|
||||
Gate 0 passed after:
|
||||
|
||||
- canonical local fixture validation succeeded;
|
||||
- `git diff --check` succeeded;
|
||||
- review commit `bc54d6b4ce10d098916823b6a79f72b39d9c7703` was pushed;
|
||||
- the GitHub mirror was independently read back and reviewed.
|
||||
|
||||
Gate 1 is now the active gate.
|
||||
|
||||
## Gate 1 — Exchange format v1 freeze
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue