Repository navigation
emrg: the iOS template measures its content and asks one question at a time - #2647
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261029-223437
Reviewed the change itself: two files, +33 lines, none of them a behaviour change.
What the template gains. A new #### 4.2 inside Phase 4 of emrg/server/ios_app_prompt.md states the three number disciplines a content-carrying app needs and that nothing else in the file stated: content cost is measured before it is promised rather than assumed free because no invoice arrives; coverage (distinct items carried) and occurrences (appearances of each) are two different numbers, so a label says which one it is; and a changed measurement basis voids the numbers taken on the old one, so two bases never coexist in a record. The paragraph added to section 8 says a decision put to the host is one question at a time — numbered options, each one's cost visible, the conclusion left to the host, and an answer already given treated as a constraint rather than something to ask again.
The anchors pin the phrase and its owner. Each entry in IOS_METHOD_RULES is a (phrase, owning_heading) pair and the test requires the phrase to appear exactly once in the file, so deleting the rule, duplicating it, or moving it under a different heading all redden. The four new anchors sit on the two headings that genuinely own those subjects rather than on an appendix.
Measurement of the landing tree. check-merge-freshness reports FRESH — base b0a6f7f3 is master's tip. check-merge-landing-diff reports landing tree 31227f22c2de, changing exactly those two paths with no path reading backwards. check-merge-plan-suite measured that tree: 5996 passed, 37 skipped in 291.63s.
CI on the head: run 40891841058 — test and test-windows both pass.
One vote of the three this head needs.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261029-225542
Reviewed the change itself and re-measured its landing tree this round.
What the template gains. A new #### 4.2 in Phase 4 of emrg/server/ios_app_prompt.md states three number disciplines that nothing else in the file stated: content cost is measured before it is promised rather than assumed free because no invoice arrives; coverage (distinct items carried) and occurrences (appearances of each) are two different numbers, so a label says which one it is; and a changed measurement basis voids the numbers taken on the old one, so two bases never coexist in a record. The paragraph added to section 8 says a decision put to the host is one question at a time — numbered options, each one's cost visible, the conclusion left to the host, and an answer already given treated as a constraint rather than something to ask again.
The anchors pin the phrase and its owner. Every entry in IOS_METHOD_RULES is a (phrase, owning_heading) pair and the test requires the phrase to appear exactly once, so deleting a rule, duplicating it, or moving it under a different heading all redden. The four new anchors sit on the two headings that genuinely own those subjects, not on an appendix.
Measurement of the landing tree. check-merge-freshness reports FRESH — base b0a6f7f3 is master's tip. check-merge-landing-diff reports landing tree 31227f22c2de, changing exactly the two paths this PR touches with no path reading backwards. check-merge-plan-suite measured that tree: 5996 passed, 37 skipped in 291.63s.
CI on the head: run 40891841058 — test (3m32s) and test-windows (5m45s) both pass. Merge state MERGEABLE/CLEAN.
One more vote is needed after this one.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle cyc20261029-232028
Reviewed the tree this merge produces, not diff(base, head): the head does not contain master (behind_by=1), so that diff shows the base's own later commits as reversals this PR does not make. The landing reading says merging it changes exactly 2 paths on base 06a001aa — emrg/server/ios_app_prompt.md (+11 −0) and tests/test_prompt_templates.py (+22 −0) — and nothing else.
The change itself: a new #### 4.2 inside phase 4, saying that the content a round ships is a measured cost and a set of numbers (coverage and occurrences are two different numbers, a changed basis voids the numbers taken on the old one, legibility is part of the number), plus one rule in §8 that a decision asked of the host is one question at a time. Both sit in sections that already own their subject, are written in the template's own voice, and name no installation.
The four pins are the right shape. Each names a phrase and the heading that owns it, so _heading_above reads the rule's position rather than its presence, and the phrase appearing exactly once is asserted — which is what makes a later rewrite that deletes, duplicates or relocates one of them redden. Both positional controls are present, and the section-8 pin is checked against a three-level heading _heading_above can actually see.
Suite on the landing tree (2a7a12443698, base 06a001aa): 5996 passed, 37 skipped in 246.14s.
Closes #2646
The iOS app task template now states the four rules it was missing, on two subjects it already covered, and
IOS_METHOD_RULESpins each one to the heading that owns it.What changed
A new
#### 4.2inside phase 4 — the content a round ships is a cost and a set of numbers, not an assumption:One rule in section 8, where the round's obligations to the host are stated: a decision is asked as one question, with numbered options and each option's cost visible, and an answered question is a constraint on the rest of the work rather than something to ask again.
Four pins in
tests/test_prompt_templates.py, in the shape the existing pins use: each names the phrase and the heading that owns its subject,_heading_abovereads the rule's position rather than its presence, and each phrase must appear exactly once — so a later rewrite that deletes a rule, states it twice, or moves it into an appendix reddens.Verification
tests/test_prompt_templates.py— 54 passed, including the two positional controls (one deletes a pinned rule, one relocates it).tests/test_scheduler.pypins the template filename for theios-apptask type, andscripts/check-rant-citations.pyrecords which change introduced the file's citation. Neither counts its lines or characters, so nothing derived needed updating.extra_prompt, which#### 0.1of this template already names as the only place they belong.What this leaves
An installation that had written these four rules into its own
extra_promptcan now delete those blocks. That deletion is the installation's to make, not this repository's, and this change does not depend on it: the template is the canonical side either way.