repixelizer/state/evidence.jsonl
2026-04-29 11:24:31 +01:00

22 lines
6.6 KiB
JSON

{"ts": "2026-04-26T00:00:00Z", "type": "design", "status": "accepted", "note": "Repixelizer has one live reconstruction engine: phase-field in src/repixelizer/phase_field.py. The old tray-based optimizer is gone and should not be revived without a new design map."}
{"ts": "2026-04-26T00:00:00Z", "type": "metric", "status": "accepted", "note": "source_structure is tracked alongside source_fidelity because lattice-only scoring can rank visibly better outputs as worse."}
{"ts": "2026-04-26T03:57:11+00:00", "type": "docs", "status": "accepted", "note": "State surface boundaries: docs/lean-optimizer-algorithm-map.md is live control-flow truth, docs/implementation-plan.md is the forward plan, state/map.yaml is durable current truth, scratch is disposable, and evidence is distilled belief only."}
{"ts": "2026-04-26T04:52:53+00:00", "type": "design", "status": "accepted", "note": "Hosted convenience is the monetization path; keep the code open, let self-hosting remain the escape hatch, and do not prioritize native desktop packaging unless it clearly beats hosted access on revenue, support burden, or strategy."}
{"ts": "2026-04-26T13:53:17+00:00", "type": "inference", "status": "accepted", "note": "Dense landscape exposed that hard automatic caps can silently discard the useful high-detail branch. Autocorr candidate inference must preserve plausible high-size candidates before reranking rather than pruning detail early."}
{"ts": "2026-04-26T15:46:23+00:00", "type": "research", "status": "rejected", "note": "Projected edge-energy spectral lattice prior was removed before ship: on dense landscape it floor-hugged to a 2px rhythm and widened toward bogus 626-family aliases. Do not revive it casually."}
{"ts": "2026-04-26T17:58:43+00:00", "type": "inference", "status": "accepted", "note": "Autocorr inference keeps near-best lag plateaus and searches for cross-axis consensus before collapsing to one lattice size. This restored badge inference to the 125-family while dense landscape stayed around 418."}
{"ts": "2026-04-26T22:40:02+00:00", "type": "hosted", "status": "accepted", "note": "Hosted mode owns the public front door in src/repixelizer/gui.py: / serves a landing page there, while local/self-host runs redirect root to /app/. Keep hosted auth/member-gating in the web layer, not the solver."}
{"ts": "2026-04-26T23:34:24+00:00", "type": "hosted", "status": "accepted", "note": "Repixelizer consumes Heimdall only inside the hosted web layer. GC_ACCESS_MODE=heimdall verifies Heimdall Ed25519 access tokens locally and adopts httpOnly local sessions without dragging provider tokens through browser URLs or solver code."}
{"ts": "2026-04-28T16:23:58+00:00", "type": "tuning", "status": "accepted", "note": "Manual tuning proved the first robust improvement came from reducing explicit solver local search movement, not from increasing signal. Stronger signal worsened early slices; higher spring weight above the cap did nothing."}
{"ts": "2026-04-28T16:23:59+00:00", "type": "tuning", "status": "accepted", "note": "Full-corpus manual tuning initially selected radius=0.60/blend=0.05: score 0.5483, mean 0.2732, worst 1.1902 across 38 cases x soft/crisp/ai, improving 100/114 rows over baseline. Superseded later as current config, but useful as movement-geometry history."}
{"ts": "2026-04-29T00:00:00+00:00", "type": "signal", "status": "accepted", "note": "The old quiet-near-boundary / context-energy signal and the wall-distance detour were both wrong shapes. The live signal is direct hierarchical flatness: multiscale luminance gradient/Laplacian energy, one normalization, inverted to flatness, then peak-shaped."}
{"ts": "2026-04-29T00:30:00+00:00", "type": "benchmark", "status": "accepted", "note": "Benchmark/tune paths gained CPU worker parallelism for row-level roundtrip evaluation. Use workers for future tuning instead of dragging the harness through serial mud."}
{"ts": "2026-04-29T08:36:03+00:00", "type": "tuning", "status": "accepted", "note": "Focused supervised tuning around the corrected signal found the current live motion geometry: radius=0.215, blend=0.24, move=0.09, grid=4.75, energy=1.4, peak=3.25. It is shippable but not fully signal-retuned."}
{"ts": "2026-04-29T08:54:03+00:00", "type": "tuning", "status": "accepted", "note": "docs/solver-tuning-lessons-2026-04-29.md is the detailed tuning ledger. Future tuning should sweep signal knobs around radius=0.215/blend=0.24 first, then movement/coherence, then combinations, with full-corpus validation only at the end."}
{"ts": "2026-04-29T09:23:44+00:00", "type": "asset", "status": "accepted", "note": "Landing character asset must be regenerated through hosted GUI/autocorr defaults, not obsolete searched inference. The wrong path produced 106x106; hosted autocorr defaults produce the expected 139x139."}
{"ts": "2026-04-29T09:34:39+00:00", "type": "implementation", "status": "accepted", "note": "Searched inference was removed as a vestigial organ. Automatic inference is autocorr-only; autocorr candidates remain rerankable; hosted mode no longer forces rerank off."}
{"ts": "2026-04-29T09:48:26+00:00", "type": "implementation", "status": "accepted", "note": "Lattice phase controls/search were removed. The solver initializes from fixed lattice centers and moves the explicit source-position field directly; users should not be exposed to lattice phase knobs."}
{"ts": "2026-04-29T10:09:47+00:00", "type": "implementation", "status": "accepted", "note": "Source hygiene pass removed dead SolverHyperParams, stale tuning-campaign knobs, fake iterative cleanup, old guidance observer names, and solver-analysis call sites. Analysis remains only as a diagnostic edge preview; it does not steer the solver."}
{"ts": "2026-04-29T10:09:47+00:00", "type": "verification", "status": "ok", "note": "Post-cleanup verification passed: AST parse succeeded across source/script/tool/test Python files and targeted stale-string scans found no removed solver params, fake cleanup hooks, old guidance observer names, or solver-analysis call sites."}
{"ts": "2026-04-29T10:20:00+00:00", "type": "process", "status": "accepted", "note": "When warned about imminent compaction, immediately write hot context from memory to a GUID-named scratch file before reading files or running commands. The trapdoor eats tidy workflows."}
{"ts": "2026-04-29T10:23:52+00:00", "type": "verification", "status": "ok", "note": "Source hygiene audit read all 60 source files under src/scripts/tools/tests, removed stale GUI lattice_search event handling and outdated spec text, kept PhaseFieldSourceAnalysis only as a diagnostic gauge, aligned config/solver_params.json to the documented shipping basin, and passed the full pytest suite: 89 passed."}