Skip to content

feat: F10 round shape and F13 every calculation named, validated - #192

Merged
github-actions[bot] merged 30 commits into
developfrom
feat/val-013-validate-f13
Oct 14, 2026
Merged

github-actions[bot] merged 30 commits into
developfrom
feat/val-013-validate-f13

Conversation

@AlexandreGallais

Copy link
Copy Markdown
Owner

F10 (round shape) and F13 (every calculation named), validated together by the Product Owner on 2026-10-14. This branch holds both features, so it replaces the F10 validation branch.

F10 — Round shape

Story Pull request
SP-013 research, ADR-0048 #180
EN-027 model and geometry #181
US-029 Round tool #182
CHK-012 checkpoint #183
US-030 conversions #184
AUD-013 audit #185
VAL-012 validation this pull request

Validation: accepted. The agent's decisions stand (four cubic sides, point 1 at the top, Convert to free shape). Convert to rounded rectangle was removed: for an ellipse it gives a capsule, so it keeps the drawing only for a circle. F10.AC5 now proves that the button is absent. roundShapeAsRoundedRectangle and halfSmallerSide were removed with it.

F13 — Every calculation named

Story Pull request
SP-014 research, note 0016 #186
EN-028 pass 1: math and geometry #187
EN-029 pass 1: model and playground #188
CHK-013 checkpoint #189
EN-030 pass 2 and duplicates #190
AUD-014 audit #191
VAL-013 validation this pull request

Evidence: 33 named modules. A golden file of 400 results was identical after each story, and the auditor compared 70,970 results with 0 differences. No expected test value was edited. A new fitness test, tests/named-calculations.test.ts, keeps each named calculation in its own function (mutation-checked).

Validation: accepted without remark. The Product Owner made the work a standing rule in ADR-0049: every calculation named, and a NAM naming pass over the whole code closing each epic. tests/backlog.test.ts enforces it from E15 on.

check:all is green at the push.

🤖 Generated with Claude Code

AlexandreGallais and others added 30 commits October 14, 2026 07:29
The round shape is an ellipse drawn by four cubic sides; the decisions the
Product Owner left open are taken by the agent and shown at VAL-012.

Refs: F10

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ADR-0048

Research note 0015, DERIV-round-shape-curve, ADR-0048; the round shape in
the domain; the ellipse element of SVG 2 added to REF-SVG2-SHAPES.

Refs: SP-013.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: SP-013.T1
Closes: SP-013

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…versions

A round shape fills its box; its 4 points, top, right, bottom and left,
carry handles of 4(√2 − 1)/3 of the half axis (DERIV-round-shape-curve).
It converts to those points, unmoved, or to its box rounded by half its
smaller side rounded up.

Refs: EN-027.T1
Refs: EN-027.T2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: EN-027.T2
Closes: EN-027

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A round shape has width, height, angle and position, no radius nor anchor;
its 4 points are shown in Points mode, not edited. The model tells the
free shape from the others (isFreeShape).

Refs: US-029.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: US-029.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The verifier's findings: the radius fields left alone and the point's
radius hidden on a round shape; tests for the greyed point controls, the
radius back after Round and a refused round shape.

Refs: US-029.T1
Closes: US-029

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: CHK-012.T1
Closes: CHK-012

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: CHK-012.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… rectangle

Convert to free shape now converts a polygon or a round shape, unmoved;
Convert to rounded rectangle shows for a round shape only; both greyed
for a box of width or height 0.

Refs: US-030.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: US-030.T1
Closes: US-030

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: AUD-013.T1
Closes: AUD-013

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seven steps, one per option of the round shape, tested end to end; the
demo page lists the options and what the agent decided.

Refs: VAL-012.T1
Refs: VAL-012.T2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two passes over the code base, every drawing identical; started from
F10's validation branch so that F10's code is named too.

Refs: F13

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Research note 0016 from two math-expert inventories: what each pass
names, the sources, what stays inline and why; Q35 asked.

Refs: SP-014.T1
Closes: SP-014

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Distance, rotate, Hadamard product, opposite, scalar projection, quarter
turns, degrees and radians, direction at an angle, polar, signed and
central angles, modulo, average, discriminant, Bernstein weights, box
size and polygonal chain end replace their inline formulas, each with its
source; new folders rotation, interpolation, arithmetic and polynomial.
A golden file of 400 results is unchanged bit for bit.

Refs: EN-028.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: EN-028.T1
Closes: EN-028

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Has area, half size, half the smaller side, explement, clamp and the
degrees of a quarter and a half turn; the model and the playground call
add, subtract, opposite, modulo, box size and box centre instead of
writing them out. The golden file is unchanged bit for bit.

Refs: EN-029.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: EN-029.T1
Closes: EN-029

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: CHK-013.T1
Closes: CHK-013

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regular partition, zero vector, reduced radius, the midpoint as an
average; one empty corner and one set of empty handles in geometry; the
shape kinds told apart by model predicates; the playground's greyed
state read by a shared action. The golden file is unchanged.

Refs: EN-030.T1
Refs: EN-030.T2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: EN-030.T2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: EN-030.T2
Closes: EN-030

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: AUD-014.T1
Closes: AUD-014

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: VAL-013.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: VAL-013.T1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ADR-0049: a calculation or a process that a field names is a function
of that name with its source; the auditor looks for unnamed ones at
each story, and a NAM story goes over the whole code twice before each
epic's review. backlog.test.ts requires it from E15 on; the status line
and the metrics read NAM ids.

Refs: VAL-013

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ngle removed

At VAL-012 the Product Owner found it destructive: an ellipse rounded as
its box becomes a capsule, so it only kept the drawing for a circle. Only
Convert to free shape stays; F10.AC5 now proves that no such button is
offered. roundShapeAsRoundedRectangle and halfSmallerSide, used by it
alone, are removed; the guided test loses its sixth step.

Refs: VAL-012

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
VAL-012: the Product Owner accepted the round shape and the agent's
decisions, and removed the conversion to a rounded rectangle. VAL-013:
F13 accepted without remark. Both features done; the criteria of F13
and F10.AC6 traced to tests, one of them a fitness test that keeps each
named calculation in its own function.

Refs: VAL-012.T3, VAL-013.T2
Closes: VAL-012, VAL-013, F10, F13

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@AlexandreGallais AlexandreGallais added the autonomous Authorized run story: merged into its feature once labeled; checks ran at the push (ADR-0038) label Oct 14, 2026
@github-actions
github-actions Bot merged commit fb01fae into develop Oct 14, 2026
2 checks passed
@AlexandreGallais
AlexandreGallais deleted the feat/val-013-validate-f13 branch October 14, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autonomous Authorized run story: merged into its feature once labeled; checks ran at the push (ADR-0038)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant