Commit Graph
26 Commits
Author SHA1 Message Date
Tirsvad d376875d72 Merge pull request 'Add the CI workflow and make it run on this project' (#21) from fix-ci-workflow into main
CI / checks (push) Successful in 1m13s
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 4s
Reviewed-on: #21
2026-10-07 19:22:33 +02:00
Tirsvad fed7e17527 Add the CI workflow and make it run on this project
CI / checks (push) Successful in 1m17s
CI / checks (pull_request) Successful in 1m18s
Add .gitea/workflows/ci.yml: tests, ruff check, ruff format --check and mypy on
every push and pull request, with Python 3.13 on ubuntu-latest.

Two things in the first draft would have failed:

- It installed the dev tools with `pip install -e ".[dev]"`, but the project
  declares them as a dependency group, not an extra. pip only warns and exits 0,
  so pytest, ruff and mypy were missing and the first step died with "No module
  named pytest". It now runs `pip install -e . --group dev`.
- The 10 test cases that use Tk need a display, which a CI runner does not have.
  The workflow now installs xvfb and python3-tk and runs the tests with
  xvfb-run, so the display requirement accepted on RC-006 still holds. No test
  code changes.

Checked locally: the YAML parses to the intended eight steps, the install line
gives all three tools in a clean environment, and the test, lint, format and
type commands pass as written. The Linux display steps have not run yet; they
need a runner.
2026-10-08 01:18:47 +08:00
Tirsvad d309db5c44 Merge pull request 'Write the README from the framework template' (#20) from write-readme into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Reviewed-on: #20
2026-10-07 19:15:56 +02:00
Tirsvad 8e6bcc4271 Write the README from the framework template
Replace the bare title with a README that follows templates/README-template.md:
overview with the parts of the repository, requirements, setup, run, tests,
license (GNU Affero General Public License v3.0), links and an appendix of the
project documents.

The setup command (pip install -e . --group dev) was tested in a clean virtual
environment: it installs the pinned dependencies and the dev tools, and all 40
tests pass there. The README passes framework/scripts/check-readme.sh.

The framework is a private repository, so the README links to the framework/
submodule entry instead of its pages. AGENTS.md, the dictionary, the
traceability matrix and governance rows are left out because those documents
are not in the repository.
2026-10-08 01:13:20 +08:00
Tirsvad 6842914c30 Merge pull request 'Plan the visible colours change (O6, SC8, MIL-003)' (#19) from plan-visible-colours into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 3s
Reviewed-on: #19
2026-10-07 18:46:31 +02:00
Tirsvad c6dfb5258c Resolve pending commit links
Replace `pending` in the Version History of BC-001, PP-001, MIL-003, RC-007 and
RC-008 with links to the commits that introduced the rows.
2026-10-08 00:45:33 +08:00
Tirsvad 188b2e9700 Plan the visible colours phase: MIL-003 and the Project Plan revision
Add milestone MIL-003 Visible Colours (due 2026-10-10): a contrast measure and a
faint-colour filter in the palette extraction, with their tests, a real run
that rechecks SC1 to SC8, and the code review. Five Go criteria and six plain
technical tasks, no use cases.

Revise PP-001: the MIL-003 gateway in the schedule and the Gantt chart, the new
scope item, the dependency on MIL-001 and MIL-002, and a plan risk. Accepted by
S01 in chat.

Record the review of MIL-003 as RC-008 (verdict Go, terms and Tasks wording
confirmed by S01).
2026-10-08 00:45:20 +08:00
Tirsvad 701feb1e52 Add objective O6 and criterion SC8 to the Business Case: visible colours
Drawing the first painting from a photograph showed colours that pass the
white-shade rule (SC3) but are still faint on the white background. Add O6
(every dot clearly visible: drop palette colours whose contrast with white is
below 2.0) and SC8, plus the WCAG contrast standard, an In Scope item, a risk
row and the Problem Statement sentence. SC3 is unchanged and still holds.

The limit of 2.0 was chosen by S01 from the measured palette of the reference
image: 8 of its 30 colours fall below it and the next is at 2.56, so 22 remain.

Record the delta re-review as RC-007 (verdict Go, terms confirmed by S01).
2026-10-08 00:45:19 +08:00
Tirsvad dde1b8429f Merge pull request 'Record the display-requirement decision on RC-006' (#18) from record-display-decision into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 3s
Reviewed-on: #18
2026-10-07 18:35:26 +02:00
Tirsvad 8692cddf14 Resolve pending commit link
Replace `pending` in the Version History of RC-006 with a link to the commit
that introduced the row.
2026-10-08 00:34:14 +08:00
Tirsvad 3868ea6f8b Record S01's acceptance of the display requirement on RC-006
Close Action Item 2 of RC-006: S01 accepted that 10 of the 33 test functions
(10 of 40 test cases) need a display for Tk, while the other 23 functions (30
cases) run anywhere. The code and the tests do not change.

Only the pale palette colours remain open on RC-006, and they do not block the
verdict.
2026-10-08 00:34:13 +08:00
Tirsvad 6c7df312a4 Merge pull request 'Record the gateway decisions of MIL-001 and MIL-002' (#17) from record-gateway-decisions into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 3s
Reviewed-on: #17
2026-10-07 18:28:13 +02:00
Tirsvad e6988d5648 Resolve pending commit link
Replace `pending` in the Version History of PP-001 with a link to the commit
that introduced the row.
2026-10-08 00:27:20 +08:00
Tirsvad a6b17d30bc Record the Go decisions of MIL-001 and MIL-002 in the Project Plan
Add a Gateway Decisions section to PP-001: S01 decided Go on both gateways on
2026-10-08, ahead of the planned 2026-10-09 and 2026-10-14, because every Go
criterion was already met. Each row names the criteria, the review record
(RC-005, RC-006) and the merged pull request (#14, #16).

Close the reference-image open issue, which has been resolved since S01
supplied the image on 2026-10-07. The two open decisions on RC-006 (the display
requirement of the tests, the pale palette colours) did not block either gate.
2026-10-08 00:27:13 +08:00
Tirsvad bd4a4dab6a Merge pull request 'Draw the Hirst painting (MIL-002)' (#16) from mil-002-spot-painting into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 4s
Reviewed-on: #16
2026-10-07 18:22:35 +02:00
Tirsvad e08cc3c16b Resolve pending commit link
Replace `pending` in the Version History of RC-006 with a link to the commit
that introduced the row.
2026-10-08 00:21:06 +08:00
Tirsvad c3cfb6462e Record the review of the MIL-002 code as RC-006
Review the code of MIL-002 against QC-PY-001: 12 of 13 criteria apply and all
pass, criterion 10 is N-A (no Design Class Diagram). Verdict Go, confirmed by
S01. That is the last Go criterion of MIL-002.

Two decisions stay open and do not block the verdict: the tests need a display
for Tk, and a few pale palette colours are faint on the white background.

Closes #13

Task: MIL-002#7
2026-10-08 00:20:57 +08:00
Tirsvad be82070c04 Draw the Hirst painting: pen, dot positions, dots, click wait and speed
MIL-002 tasks 1 to 6.

- Add create_pen, which hides the turtle, lifts the pen and switches the screen
  to 0 to 255 colours.
- Add dot_positions: 100 dot centres in 10 rows of 10, 50 apart, centred on the
  origin so the painting fits the default window.
- Add draw_dots, which draws a size-20 dot at every position in a colour chosen
  from the palette, and raises ValueError for an empty palette.
- Add main: draw with the palette of the reference image, then wait for a click
  with exitonclick. Animation is off while drawing and the screen updates once,
  which takes the drawing from 21.1 to 0.35 seconds (SC6 allows 30).
- Add 22 tests: pen setup, positions and spacing, dots on a recording fake pen
  and on a real turtle, no trail, and the order of main's steps. All tests share
  one hidden Tk window, because starting Tk per test fails now and then on
  Windows.

Closes #7
Closes #8
Closes #9
Closes #10
Closes #11
Closes #12

Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
Task: MIL-002#6
2026-10-08 00:20:48 +08:00
Tirsvad 0b82397ff6 Merge pull request 'Stop tracking AGENTS.md and the installed skill copies' (#15) from untrack-agent-files into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Reviewed-on: #15
2026-10-07 18:18:54 +02:00
Tirsvad b617bdfba9 Stop tracking AGENTS.md and the installed skill copies
Remove AGENTS.md, .claude/skills and .agents/skills from the repository. They
are local tooling: bash framework/scripts/install-skills.sh recreates the skill
copies, and each clone keeps all three out of git through .git/info/exclude.

The files stay in the history of main; this commit only stops tracking them.
2026-10-08 00:10:58 +08:00
Tirsvad e6e34aa7d2 Merge pull request 'Add the colour palette (MIL-001)' (#14) from mil-001-colour-palette into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 4s
Reviewed-on: #14
2026-10-07 17:55:08 +02:00
Tirsvad 412237afe4 Resolve pending commit links
Replace `pending` in the Version History of BC-001, SA-001, PP-001, MIL-001,
MIL-002 and RC-001 to RC-005 with links to the commits that introduced the rows.
2026-10-07 23:49:56 +08:00
Tirsvad b7119ef907 Add the colour palette: white-shade filter and palette extraction
MIL-001 tasks 1 to 6.

- Pin the toolchain and tool configuration in pyproject.toml: Python 3.13,
  colorgram.py 1.2.0, and ruff, mypy (strict) and pytest as dev tools.
- Add is_white_shade and remove_white_shades (threshold 240) with tests that
  pin the boundary at 239 and 240.
- Add extract_palette, which reads the reference image with colorgram and drops
  white shades, with tests on synthetic images and on the reference image.
- Add the reference image assets/20260524_132700.jpg and a note on it.
- Record the code review against QC-PY-001 as RC-005 (verdict Go).

Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
2026-10-07 23:49:38 +08:00
Tirsvad b823d1f405 Plan the Hirst painting project and review the plan documents
Add the Business Case (BC-001), Stakeholder Analysis (SA-001), Project Plan
(PP-001) and two milestones: MIL-001 Colour Palette and MIL-002 Spot Painting.
Record their reviews as RC-001 to RC-004 (all Go, self-review accepted by S01).

The PO language is English and the domain is IT. The milestones and their 13
tasks are synced as Gitea milestones 68 and 69 and issues #1 to #13.
2026-10-07 23:49:16 +08:00
Tirsvad 7c0ed0dcc5 Add the SQA and QC framework and project instructions
Mount the framework as a submodule at framework/ (v0.4.0), add AGENTS.md and
the installed skill copies for Codex CLI (.agents/skills) and Claude Code
(.claude/skills).
2026-10-07 23:49:15 +08:00
Tirsvad 0d3f30355a Initial commit 2026-10-07 16:35:56 +02:00