Commit Graph
1582 Commits
Author SHA1 Message Date
Matysh 59bf4665f6 docs: record v1.68.0 final release gates
Issue: #322
User-Visible: no
2026-08-27 10:51:38 +03:00
Matysh 3a562f2bd6 chore: return main process history before v1.68.0
Issue: #322

User-Visible: no
2026-08-27 10:49:01 +03:00
Matysh aaf7611490 build: promote v1.68.0 after beta.4
Issue: #322
User-Visible: yes
2026-08-27 10:29:04 +03:00
Codex 3d4e5580fa build: prepare v1.68.0-beta.4 candidate
Package the two beta.3 write-blocker fixes: the model-upgrade stale-client
guard and the self-resolving zero-wall migration.

Issue: #316
Issue: #319
User-Visible: yes
v1.68.0-beta.4
2026-08-27 08:11:42 +03:00
Codex 1c598a287a fix: the room_wall_ids invariant applies to model v8 and later again (#316, review r4 H1)
The r3-M1 fix was applied as a mechanical substring replacement and flipped
BOTH model_version conditions in the file; the independent room_wall_ids
invariant (#244/#252) silently stopped checking every v9+ document. Only the
opening_host requirement is scoped to model v8 — room_wall_ids is back to
'v8 and every later version', now pinned by its first regression test
(phantom wall_ids reported on v9 and v8; executed red on the broken
comparison, green after the fix).

Issue: #316
User-Visible: no
2026-08-27 00:21:23 +03:00
Codex 05ec0a1de8 fix: the model-invariants CLI accepts the unhosted degraded opening of model v9 (#316, review r3 M1)
Since #316 §3.3 an unhosted contour opening is a valid v9 state — the
migration keeps an opening with no in-place carrier as data. The CLI still
reported it as an opening_host violation for every model_version >= 8; the
requirement now applies to model v8 documents only. The regression test is
proven able to fail on the old comparison (executed red), and the reviewer's
CLI reproduction now finishes clean.

Issue: #316
User-Visible: no
2026-08-27 00:08:15 +03:00
Codex b29472a887 test: re-pin the #316 baselines to the review-fix source
Pixels are untouched — the r1/r2 review fixes change migration data flow,
not rendering; every scenario hash stays byte-identical to the frames of the
reviewed CI run. Only the source fingerprint moves to match the fixed tree.

Issue: #316
User-Visible: no
Release: v1.68.0-beta.4
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/33000824647
2026-08-26 23:41:35 +03:00
Codex 0f36ef55d5 fix: an opening without an in-place carrier migrates unhosted (#316, review r1 H1 + r2 M2)
CODE-REVIEW-316-r1 H1: the §3.3 degraded pool picked an angle-compatible wall
at ANY distance, but the backend geometry-match invariant («wall opening
geometry must match its host») requires the host to agree with the opening's
own x/y — the migrated document was rejected by CONFIG_SCHEMA and the write
wedged again on the schema layer. The pool is removed from both migrations
(TS and the Python mirror): without an in-place eligible carrier the opening
goes straight to the unhosted degraded state, exactly the alternative the
spec's «assumed freely changeable» section reserved; the spec is revision 6.
New tests replay the reviewer's reproduction on both sides, and the frontend
test is proven able to fail by restoring the pool (executed red).

CODE-REVIEW-316-r2 M2: the schema-level host check is shared with #132
partition openings, so its unhosted relaxation is now pinned by a regression
test — a stale writer that keeps a partition-hosted opening but silently
drops its host is still rejected by validate_partition_opening_hosts.

Issue: #316
User-Visible: no
2026-08-26 23:41:35 +03:00
claude[bot]andCodex 1d92193c5d docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 23:41:35 +03:00
claude[bot] dff476ff35 docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 19:35:05 +00:00
Codex ee672dcd1a test: accept the #316 span-over-door baseline
The scene was captured by CI run 33000824647 byte-identical to the locally
reviewed frame: the door keeps its solid jambs inside the former border, the
zero run is dashed on both sides, the leaf swings into the room.

Issue: #316
User-Visible: no
Release: v1.68.0-beta.4
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/33000824647
2026-08-26 22:06:43 +03:00
Codex ffb232398a fix: the initial wall-model migration resolves every opening conflict itself (#316)
Implements spec revision 4 (green r4). §3.1 — a legacy open_spans/open_to cut
never zeroes the atom that carries an existing contour opening: the opening's
edges become atom boundaries, the door keeps its real wall and the zero run
continues on both sides. §3.2 — an ambiguous carrier resolves
deterministically: current host, then distance, thicker cm, smaller id.
§3.3 — an opening with no usable carrier persists unhosted: a valid degraded
v9 state, inert in the physics, rendered by its own x/y, kept by later writes
and re-placeable in the editor (backend schema accepts it). §3.4 — the
initial migration never throws over an opening; a post-v9 write that LOST its
carrier keeps the fail-closed opening-host refusal. The Python migration
mirror implements the same rules with byte-identical output (verified on the
span+door fixture including the segment id).

The new smoke replays #316 end to end: a conflicted space no longer blocks
drawing on an empty plan. The golden scene span-over-door-migrated-dark
renders the migrated fixture pinned byte-for-byte to the real writer; two
gate mutants revert §3.1 and §3.4 and are red by execution.

Issue: #316
User-Visible: yes
2026-08-26 22:06:43 +03:00
claude[bot]andCodex 33a5b46990 docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
Codex f353be3d76 docs: spec #316 revision 4 — the golden expectation rests on the render/write boundary, not on masonry kind
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
claude[bot]andCodex 295548f0fd docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
Codex 0f6583b51c docs: spec #316 revision 3 — correct compatibility reference, honest golden expectation
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
claude[bot]andCodex 5886069c3a docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
Codex 6205c8b2d7 docs: spec #316 revision 2 — registry/compatibility/goldens sections, reachable AC3 fixture
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
claude[bot]andCodex b6de84e528 docs: review document for #316
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
Codex 5b7d37e911 docs: spec #316 — migration auto-resolves opening-host conflicts
Issue: #316
User-Visible: no
2026-08-26 21:54:19 +03:00
claude[bot] f3fe86371c docs: review document for #319
Issue: #319
User-Visible: no
2026-08-26 18:05:38 +00:00
Codex 3ab6fa9f8a fix: the first write of a newer wall model is not an outdated client (#319)
A stale client can only echo the stored model_version, never raise it. The
'unchanged wall catalogue' refusal now applies only when the submitted model
is not above the stored one; the first v9 write over a v8 document with an
orphan open_span/open_to legitimately drops the legacy projection without
touching the catalogue and passes. The regression pair fixture is produced
by the real writers (stored: v1.68.0-beta.2, sent: current migration) and is
pinned on the frontend byte-for-byte so it cannot drift.

Issue: #319
User-Visible: yes
2026-08-26 18:20:15 +03:00
claude[bot] 3d31d65735 docs: review document for #319
Issue: #319
User-Visible: no
2026-08-26 15:11:38 +00:00
Matysh 9ff464fe09 test: accept v1.68.0-beta.3 golden baselines
Accept the complete reviewed Linux matrix after the zero-thickness wall UI and migration changes.

Issue: #306
Release: v1.68.0-beta.3
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/32963513340
User-Visible: no
v1.68.0-beta.3
2026-08-26 14:35:08 +03:00
Matysh 8bfd56eb59 build: prepare v1.68.0-beta.3 candidate
Package the reviewed zero-thickness wall model and legacy virtual-wall migration.

Issue: #306
User-Visible: yes
2026-08-26 14:28:35 +03:00
claude[bot] 26ad7651fb docs: review document for #306
Validate / process-workflow-sync (push) Successful in 1m7s
Validate / hacs (push) Skipped
Validate / hassfest (push) Skipped
Validate / provenance (push) Successful in 1m29s
Validate / frontend (push) Skipped
Validate / process-gate (push) Successful in 1m27s
Validate / changes (push) Successful in 1m15s
Validate / docs (push) Failing after 35s
Validate / reuse (push) Successful in 1m10s
Validate / smoke (1) (push) Skipped
Validate / smoke (2) (push) Skipped
Validate / smoke (3) (push) Skipped
Validate / smoke_done (push) Skipped
Validate / golden (push) Skipped
Validate / performance_smoke (push) Skipped
Validate / backend (push) Skipped
Issue: #306
User-Visible: no
2026-08-26 11:14:32 +00:00
Matysh 9134d86266 docs: accept issue 306 screenshots
Source: https://github.com/Matysh/houseplan-card/actions/runs/32961287574

Issue: #306
User-Visible: no
2026-08-26 14:06:00 +03:00
Matysh f15bdc678b fix: address zero-wall review findings
Issue: #306
User-Visible: yes
2026-08-26 14:01:58 +03:00
claude[bot] db4e0ef999 docs: review document for #306
Issue: #306
User-Visible: no
2026-08-26 10:56:25 +00:00
Matysh a66fb7ef53 feat: unify zero-thickness walls
Issue: #306
User-Visible: yes
2026-08-26 13:39:52 +03:00
claude[bot]andMatysh 5e35612bdd docs: review document for #306
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
Matysh fa9d9b05e9 docs: align zero-wall spec limits
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
claude[bot]andMatysh 916a42e33a docs: review document for #306
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
Matysh 799289e73b docs: adapt zero-wall spec to model v8
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
claude[bot]andMatysh 73cf8ed01a docs: review document for #306
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
Matysh 1857cb69cf docs: address zero-wall spec review
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
claude[bot]andMatysh 1fcbb0de6d docs: review document for #306
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
Matysh b8a9f9b289 docs: specify zero-thickness wall migration
Issue: #306
User-Visible: no
2026-08-26 12:55:27 +03:00
Codex c821dad436 build: prepare v1.68.0-beta.2 candidate
Package self-explaining preflight refusals, the universal Thickness tool
and reliable model-v8 room drawing.

Issue: #269
Issue: #295
Issue: #313
Issue: #314
User-Visible: yes
v1.68.0-beta.2
2026-08-26 11:20:47 +03:00
claude[bot] 1f6aefd2a7 docs: review document for #295
Issue: #295
User-Visible: no
2026-08-26 08:12:05 +00:00
Codex 7273a3ad9a test: re-pin the #295 baselines to the review-fix source
Pixels are untouched — the r1 fixes change diagnostics data and dialog state,
not rendering. Every scenario hash is byte-identical to the frames CI
captured and I reviewed for run 32940625718; only the source fingerprint
moves to match the fixed tree.

Issue: #295
User-Visible: no
Release: v1.68.0-beta.2
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/32940625718
2026-08-26 10:52:47 +03:00
Codex b542f44bd6 fix: preflight diagnostics hash the judged candidate and the fallback dies with its dialog (#295)
CODE-REVIEW-295-r1, both Medium findings:

M1 — _preflightDiagnostics hashed this._serverCfg, the saved config a space
export would reproduce anyway. The hash now comes from the candidate the
preflight actually judged: the report path passes r.config / d.config and the
copy button reads the dialog's own candidate. The smoke no longer masks the
difference — its dialog carries a candidate whose geometry differs from the
saved config, and swapping the two must change the reported hash.

M2 — the inline clipboard fallback survived dialog close and reopen, so a
later refusal could hand the previous refusal's JSON to a bug report. The
field now dies with its dialog: reset on open (_previewAlignDialog) and on
every close path (escape, mode reset, successful apply, hp-close, cancel).

Both regressions are pinned by execution: reverting either fix turns the
extended smoke red (fingerprintTracksCandidate / fallbackClearedOnClose),
and two new gate mutants keep it that way.

Issue: #295
User-Visible: no
2026-08-26 10:52:47 +03:00
claude[bot] 43f91a214b docs: review document for #295
Issue: #295
User-Visible: no
2026-08-26 07:47:10 +00:00
Codex 822e6223f7 test: accept the #295 preflight-dialog baselines
Both scenes were captured by CI run 32940625718 (byte-identical to run
32939996348), visually reviewed: failure reasons render as rows, the
ghost copy button is borderless per dialogs.styles.

Issue: #295
User-Visible: no
Release: v1.68.0-beta.2
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/32940625718
2026-08-26 10:28:29 +03:00
Codex 1cdd4ed6de fix: a refused geometry preflight names its reason and hands over diagnostics (#295)
Диалог «Оптимизировать» при отказе перечисляет причину по каждому
пространству (7 значений OptimizeGeometryFailureReason получили RU/EN
строки), даёт «Скопировать диагностику» — JSON-блок с origin: runtime,
версией карточки, отпечатками и классами исключений (граница приватности
checkOptimizeGeometry; privacy-тесты дополнены позитивной проверкой) — и
пишет одну структурированную запись в dev-лог (дедупликация по fingerprint).
При недоступном clipboard блок раскрывается прямо в диалоге.

Совет «обновите House Plan» больше не безусловный: websocket
houseplan/config/get теперь возвращает integration_version (бэкенд-тест),
и подсказка показывается только при реальном расхождении с версией карточки;
старый бэкенд без поля — подсказки нет.

Три новых мутанта (потеря причины в диалоге, блок без reason, отключённый
dev-лог) — краснота каждого проверена исполнением; смок
smoke_preflight_diagnostics на dev падает.

Issue: #295
User-Visible: yes
2026-08-26 10:28:29 +03:00
claude[bot]andCodex a5abfe8bd6 docs: review document for #295
Issue: #295
User-Visible: no
2026-08-26 10:28:29 +03:00
Codex 83ec6fb879 docs: spec #295 revision 2 — keep the #199 privacy boundary, real integration-version channel
Issue: #295
User-Visible: no
2026-08-26 10:28:29 +03:00
claude[bot]andCodex 2710dca7d1 docs: review document for #295
Issue: #295
User-Visible: no
2026-08-26 10:28:29 +03:00
Codex 114dcec27c docs: spec for #295 preflight failure diagnostics
Issue: #295
User-Visible: no
2026-08-26 10:28:28 +03:00
Codex 93054823c3 fix: the github-range runner throws so an orphaned BEFORE_SHA can fall back to dev
resolveValidationRange already knows how to replace a force-push-orphaned
BEFORE_SHA with origin/dev, but the CLI handed it a runner that killed the
process with exit 2 on the first cat-file instead of throwing into
gitObjectExists' catch. Every push after a mandatory issue-branch rebase
therefore painted process-gate red (runs 32939996348, 32940625718,
32942113142). The regression test drives the real CLI in a throwaway repo
with a BEFORE_SHA that no longer exists.

Issue: #315
User-Visible: no
2026-08-26 10:28:04 +03:00