4.3 KiB
4.3 KiB
Reflection Index
Use this index for second-order workflow lessons.
| Date | Reflection | Trigger | Action | Detail |
|---|---|---|---|---|
| 2026-07-31 | Formatting is not business state | A yellow final Booking row was initially at risk of being interpreted as cancellation | Make cancellation text-based, preserve formatting as non-authoritative and keep a real-style regression | Case |
| 2026-07-30 | Coordinate hot static assets with the long-lived backend | Login static files activated before backend restart; later launchd ownership also hit macOS Desktop privacy | Feature-detect mixed versions, gate restart on all secrets, use a secret-free launcher and a desktop-authorized supervisor until deployment leaves Desktop | Case |
| 2026-07-30 | Distinguish a database snapshot from batch completeness | A 15:44 three-file snapshot was incorrectly declared the clean total before the 16:12 07-23 commit | Timestamp snapshots, enumerate expected dates and reconcile recent/in-flight runs before declaring completeness | Case |
| 2026-07-30 | Current projections must exclude fixtures | A structurally valid local_fixture remained current during real uploads and contaminated BI/monthly outputs |
Add a provenance-aware deployment/readiness gate and retire fixture pins without deleting audit history | Case |
| 2026-07-30 | Backend automation must reconcile the open UI | Worker publication was automatic but the page still required “刷新” | Add visible-tab synchronization, last-good-state retention and UI/API cadence verification | Case |
| 2026-07-30 | Derive report watermarks from business facts | User clarified that XML filenames have no date and “更新至” belongs to table ARRIVAL |
Derive and revalidate the watermark against max included ARRIVAL; ignore filename/wall clock |
Case |
| 2026-07-30 | Keep deterministic results machine-to-machine | A complete 135-record processor result became a 20-record model/MCP submission | Remove the model serialization boundary; validate and ingest the original machine artifact directly | Case |
| 2026-07-29 | Probe stream semantics before trace capture | include_trace looked like a possible read/replay capability, but the endpoint contract was unknown |
Verify method/event order/duplicate-key behavior with a harmless probe; keep one SSE connection and terminalize ambiguous sends | Case |
| 2026-07-29 | Verify runtime target and entrypoint before E2E | Debugging followed an obsolete local tunnel and a manual chat upload was mistaken for the accepted ingestion path | Record the exact active endpoint and classify the test entry before changing credentials or accepting results | Case |
| 2026-07-29 | Verify every production container entrypoint | XML processing was enabled in Compose but omitted from Dockerfile CMD, so direct image launches stayed closed | Add a regression test for Dockerfile CMD and document platform command overrides | Case |
| 2026-07-29 | Remote Agent success is not a database commit | Repeated live runs ended remotely without an MCP submission | Add a multi-signal acceptance gate and preserve failed-run cleanup evidence | Case |
| 2026-07-29 | Internal parameters are not user inputs | Human correction of the monthly-report workflow | Update docs and promote the boundary to ADR-001 | Case |
When To Reflect
Create a reflection only when work reveals a reusable lesson: skipped gates, repeated mistakes, durable debugging patterns, ineffective plans, human corrections, or candidates for new scripts or skills.
Routine task completion belongs in 30-worklog/task-history.md.