Commit Graph
487 Commits
Author SHA1 Message Date
claude[bot] b4a2d5b952 docs(spec): #500 r2 — seven adoption callers, two profiles, vacuum writers
Issue: #500
User-Visible: no
2026-09-10 11:41:16 +00:00
claude[bot] 88eb382403 docs(spec): #500 one ownership boundary for config adoption
Issue: #500
User-Visible: no
2026-09-10 11:41:16 +00:00
Codex 156835c048 ci: specs live in the issue body — body digest in review anchors, gate without a spec file
The spec file solved exactly one problem — proving that a review verdict
was passed on a given text — and created two: docs/specs/README.md
conflicted between parallel tasks and served as a second, stale status
dictionary, and every spec edit cost a commit, a push and a label. The
proof moves into the pipeline.

- review-doc-guard: normalizeIssueBody / issueBodyDigest (CRLF, trailing
  whitespace, trailing newlines), the anchor line `Тело issue: <sha256>`,
  anchorIssueBodyFrom, and issueBodyChanged — the finding "the spec
  changed after a green spec review", judged against the pipeline's own
  record in the last green SPEC-REVIEW, never against prose.
- reusableGreenVerdict takes the current digest: reuse (#499) skips the
  model entirely, so without this a spec edit between rounds would pass
  unseen. Documents without the record (the whole backlog) keep judging
  by tree.
- process.yml: the material step reads the body with `gh issue view` in
  the same run that fixes the material — the event snapshot describes a
  text the reviewer may never see; the digest goes into the anchors, into
  reuse and, when it differs, into the reviewer's prompt.
- process-gate: rule 3 judges the text (a `## ТЗ` heading or an AC1) with
  the archived file still accepted; adding a new file under docs/specs/
  warns — the directory is frozen.
- task-packet reads AC from the body first, the archived file second.
- PROCESS.md §2.3/§5/§7.1/§7.3/§10.5, AGENTS.md and docs/specs/README.md
  say so; the index table is gone with the long-standing §7.3 debt.

Mutants: review-anchor-drops-issue-body, review-ignores-changed-spec-body,
reuse-ignores-changed-issue-body, process-gate-requires-spec-file.

Issue: #517
User-Visible: no
2026-09-10 10:18:17 +03:00
Codexandclaude[bot] 0796a01571 ci: the E2E gate recognises its run by the suites that install the tag
Two findings from the live run on v1.73.0 (houseplan-e2e run
34393136097): the upgrade job carries the previous stable's tag in its
name, so "any job with HP <tag>" let a gate for v1.72.0 adopt the
v1.73.0 run — recognition now keys on `journeys`/`first-run`; and the
first poll after a dispatch sees only the matrix-planning job, which
marked the run as foreign forever — a run without any `· HP … ·` job is
undecided and polled again. Live: v1.73.0 → green with the run link,
v1.72.0 → no run of its own.

Issue: #514
User-Visible: no
2026-09-09 21:18:51 +00:00
Codexandclaude[bot] 57b19f9914 ci: the E2E gate upgrades from the previous stable, not from the tag under test
Live run on v1.73.0 (houseplan-e2e run 34392391382): at `release:
published` the new tag is already the newest stable, so
`upgrade_from=stable` made the upgrade suite update v1.73.0 onto itself
and fail with `Expected: not "1.73.0"`. The gate now resolves the newest
non-prerelease, non-draft release other than the tag from `gh release
list` and passes it as `upgrade_from`; the first stable ever falls back
to `stable`. Spec §4/§6 record the change and the matrix-planning job in
houseplan-e2e (a job-level `if` cannot read `matrix.*`).

Mutant: release-upgrades-stable-onto-itself.

Issue: #514
User-Visible: no
2026-09-09 21:18:51 +00:00
Codexandclaude[bot] 8f037a74dc docs: spec for #514 — E2E on a real Home Assistant as the stable release gate
Issue: #514
User-Visible: no
2026-09-09 21:18:51 +00:00
Codex 7674b78c33 docs: spec #512 r2 — capture.mjs untouched, --identical refreshes the capture-script guard
Spec review r1 (H1): the `--out` flag would have changed the only file
guarded by `captureScriptSha256` and reddened check-docs on its own. The
identical-accept mode now leaves demo/docs/capture.mjs as is (frames are
backed up and restored around the standard capture) and takes
`captureScriptSha256` from the candidate manifest together with the
source fingerprint; the docs re-acceptance for this issue is the first
local --identical run in the same branch.

Issue: #512
User-Visible: no
2026-09-09 18:52:44 +03:00
Codex 278d9257eb docs: spec for #512 — version seam outside golden frames, docs:accept --identical
Issue: #512
User-Visible: no
2026-09-09 18:52:44 +03:00
Codex 00130e08aa ci: a cancelled Validate dispatch proves nothing to the review gate
Code review r1 (M1): validate-gate.mjs and merge-candidate's waitValidate
read a `cancelled` dispatch run on the material as red, so a dispatch
replaced by the next one in the `validate-dispatch-<ref>` concurrency
group would have returned the task S7→S6 for nothing — the same class
#511 fixed in release-gate.mjs. Cancelled runs are now ignored: the gate
follows the replacement dispatch, or starts its own when there is none.

Mutant: review-returns-task-on-cancelled-dispatch.

Issue: #510
User-Visible: no
2026-09-09 18:33:24 +03:00
Codexandclaude[bot] 73d6e2eeeb docs: spec #510 r4 — proceed replaces only the conflict conjunct
Spec review r3: `proceed` is true on the reuse fast-path too, so it must
replace the `rebase.conflict != 'true'` conjunct alone; the existing
`reuse != 'true'` (#499), stage and decide conjuncts stay on every step
that has them. The "single variable" claim is narrowed accordingly.

Issue: #510
User-Visible: no
2026-09-09 15:14:20 +00:00
Codexandclaude[bot] 65526a6a7f docs: spec #510 r3 — one branching variable for the gate outcome
Spec review r2: §5.2 named the gate outcome three different ways; the
skip branch (spec stage, reuse fast-path) would have matched a literal
`result != 'green'` and produced a spurious S7→S6 return. All step
conditions now branch on `proceed` only (true = green or skipped, false =
red/missing); `result` feeds the comment text alone.

Issue: #510
User-Visible: no
2026-09-09 15:14:20 +00:00
Codexandclaude[bot] a91ba16a5c docs: spec #510 r2 — gate after reuse, proof requires executed mutant jobs
Spec review r1: place the gate after the #499 reuse step so its output is
defined; a green dispatch counts only when the "Мутанты по диффу" jobs ran
and passed (a foreign dispatch with mutants=false leaves them skipped);
therefore the Validate job runs whenever mutants are requested, even on an
empty selection. Explicit User-Visible/UX/i18n N/A statement added.

Issue: #510
User-Visible: no
2026-09-09 15:14:20 +00:00
Codexandclaude[bot] 2b8b7b2aa7 docs: spec for #510 — mutants on the review candidate, review waits for a green Validate, handoff rules
Issue: #510
User-Visible: no
2026-09-09 15:14:20 +00:00
Matysh e17cdb5162 docs: specify startup performance regression fix
Issue: #506
User-Visible: no
2026-09-09 12:57:12 +03:00
Codexandclaude[bot] c71f21f3c9 docs: spec #498 r2 — numbered AC, longest-chain reference limit, concurrent quota semantics
Spec review r1: add the AC list with proofs and the perf/touch statement;
measure the SVG reference limit as the longest chain through a node
(memoised), not the stack height of the first traversal, so a hostile id
order cannot cut a long chain into short segments; state that two uploads
checked while both are staged are both refused (conservative), never both
stored.

Issue: #498
User-Visible: no
2026-09-09 07:06:20 +00:00
Codexandclaude[bot] ac478127d5 docs: spec for #498 — exact upload quota, support palette allowlist, bounded SVG reference chains
Issue: #498
User-Visible: no
2026-09-09 07:06:20 +00:00
Matysh bb14064b18 docs: address summary panel spec review r1
Issue: #505
User-Visible: no
2026-09-09 09:32:23 +03:00
Matysh 598e95f4c4 docs: specify summary panel designer parity
Issue: #505
User-Visible: no
2026-09-09 09:32:23 +03:00
Codex 70a394d228 docs: spec for #495 — import result follows the commit, dropped route runs reach the store
Issue: #495
User-Visible: no
2026-09-09 08:26:52 +03:00
Matysh f2007326c4 docs: record radar field evidence
Issue: #485
User-Visible: no
2026-09-09 03:54:09 +03:00
Matysh 58f5f18540 feat: add presence radar stage 1
User-Visible: yes
Issue: #485
2026-09-09 03:51:25 +03:00
Sergey MatyuninandMatysh 4e9feaaead docs: preserve manual radar setup entry (#485)
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 51d5858b3d docs: restrict radar setup section to eligible devices (#485)
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 1fff72aa3f docs: address radar specification review #485
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 78afb68962 docs: specify radar presence stages for #485
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey Matyunin 13a0bfdf87 docs: define summary panel hardening contract (#493)
Issue: #493
User-Visible: no
2026-09-09 02:53:36 +03:00
Sergey Matyuninandclaude[bot] ce575f4012 docs: remove trailing blank from #491 spec
Issue: #491
User-Visible: no
2026-09-08 23:01:49 +00:00
Sergey Matyuninandclaude[bot] 18e98ac5f2 docs: specify durable Optimize and Undo recovery (#491)
Issue: #491
User-Visible: no
2026-09-08 23:01:49 +00:00
Codexandclaude[bot] 405bce42c3 docs: spec notes how the manifest categories are computed
Issue: #492
User-Visible: no
2026-09-08 21:55:07 +00:00
Codexandclaude[bot] 227b73683e docs: AC6 gets its negative probe (spec review r1)
Issue: #492
User-Visible: no
2026-09-08 21:55:07 +00:00
Codexandclaude[bot] 6b70e5a3ad docs: spec for the exact integration candidate and the input manifest
Issue: #492
User-Visible: no
2026-09-08 21:55:07 +00:00
Claude d271d8beab docs: specs/README — статус задачи это метка, Projects v2 не используется
Файл называл GitHub Projects v2 частью канонического backlog и держал
второй словарь статусов ТЗ. Проекты не используются с 2026-08-14 (#139),
статус — метка на issue (PROCESS §9); лёгкий трек держит ТЗ в теле issue.

Issue: #499
User-Visible: no
2026-09-09 00:47:06 +03:00
Sergey Matyunin fd364c57a8 docs: specify summary recovery consistency (#490)
Issue: #490
User-Visible: no
2026-09-09 00:10:16 +03:00
Sergey Matyunin e072b22274 docs: address first spec review for data-hp contract (#489)
Issue: #489
User-Visible: no
2026-09-08 21:04:21 +03:00
Sergey Matyunin 9cf10bdde7 docs: specify public data-hp test contract (#489)
Issue: #489
User-Visible: no
2026-09-08 20:53:22 +03:00
Sergey Matyunin 14597ccdf9 docs: address spec review locale coverage (#437)
Issue: #437
User-Visible: no
2026-09-08 17:11:44 +03:00
Sergey Matyunin 4a1aac16fe docs: specify configurable summary overlay (#437)
Issue: #437
User-Visible: no
2026-09-08 16:59:58 +03:00
Matysh 42b44c7564 docs: specify room temperature thresholds
Issue: #487
User-Visible: no
2026-09-08 10:42:13 +03:00
Codex e97e568111 docs: record the real HA panel container and mount order in the #486 spec
Issue: #488
User-Visible: no
2026-09-08 10:05:45 +03:00
Matysh 2821c35963 docs: specify House Plan sidebar panel
Issue: #486
User-Visible: no
2026-09-07 23:24:02 +03:00
Matysh d53e4f70d3 docs: specify stepped PDF dimension chain
Issue: #484
User-Visible: no
2026-09-07 20:37:04 +03:00
Matysh 15b060ac38 fix: polish PDF export
Issue: #482
User-Visible: yes
2026-09-07 11:06:28 +03:00
Matysh 5c1175cebc docs: pin PDF compass provenance
Issue: #482
User-Visible: no
2026-09-07 09:18:03 +03:00
Matysh bc93babdf8 docs: specify PDF export polish
Issue: #482
User-Visible: no
2026-09-07 09:07:35 +03:00
Matysh 137616fa62 perf: reuse clean room areas in PDF
Issue: #53
User-Visible: no
2026-09-07 04:46:20 +03:00
Matysh c226a0adcd perf: reuse visible room contours for PDF
Issue: #53
User-Visible: no
2026-09-07 04:13:10 +03:00
Matysh d7d2e61884 test: prove PDF dialog reconnect recovery
Issue: #53
User-Visible: no
2026-09-07 03:56:13 +03:00
Matysh d277eeb73b feat: export current space as architectural PDF
Issue: #53
User-Visible: yes
2026-09-07 03:47:57 +03:00
Matysh 299629d2d2 docs: address PDF export spec review
Issue: #53
User-Visible: no
2026-09-07 02:28:56 +03:00
Codex cc93e93da9 docs: ТЗ #53 — внутренние размеры комнат грань-в-грань и внешние размеры граней
Issue: #53
User-Visible: no
2026-09-07 02:09:38 +03:00