Commit Graph

65 Commits

Author SHA1 Message Date
Jakub Zych
5b947c7454 fix(02-03): treat null foreign keys as valid masked ids
PHP album payloads leave discogs_id null. The id mask required an
integer and failed PHP self-replay on otherwise identical bodies.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:52:06 +02:00
Jakub Zych
591a0d4681 fix(02-03): expand expected placeholders after replay capture
Unquoted numeric id placeholders made recorded JSON illegal to parse.
Replay now recaptures, persists vars, expands the expected body, and
diffs against the live response.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:51:24 +02:00
Jakub Zych
1ea3c59055 fix(02-03): scrub short captured ids only at token boundaries
Numeric seed ids like 1 were substring-replaced through /api/v1 paths
and 15-style JSON integers. Keep ReplaceAll for long secrets and isolate
short values so the corpus stays replayable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:47:38 +02:00
Jakub Zych
4451c2f39f fix(02-03): resolve relative seed specs and skip only recorded seeds
Manifest seed paths are fixtures-relative. Skip re-hitting the backend
only when every seed step already has a recorded status so a hand-written
spec can be recorded in place.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:46:38 +02:00
Jakub Zych
eabbe00976 docs(02-02): record plan progress in STATE and ROADMAP
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:38:05 +02:00
Jakub Zych
0824f31d08 docs(02-02): complete capture-sessions-and-manifest-coverage plan
Tasks completed: 3/3
- Capture a complete named session through the proxy
- Replay stateful flows with safe capture and strict differences
- Record manifest route cases and report complete coverage

SUMMARY: .planning/phases/02-api-parity-harness-bootstrap/02-02-SUMMARY.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:37:17 +02:00
Jakub Zych
24c1f43e84 feat(02-02): record manifest route cases and report coverage
Drive ordered route cases through RecordFlow, resume in batches of
15, and print recorded/passing/failing/unrecorded coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:36:48 +02:00
Jakub Zych
aa165fe3d0 feat(02-02): capture, scrub, and strictly diff stateful flows
Resolve named placeholders from a private variable store, mask
dates and ids after shape checks, and keep comparing independent steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:32:49 +02:00
Jakub Zych
bb6a5a91c9 feat(02-02): capture named sessions through a loopback proxy
Record Nuxt/MCP traffic as ordered flows via parity:proxy, pin
loopback upstream, and refuse oversized or credential-shaped fixtures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:27:57 +02:00
Jakub Zych
603270da08 docs(02-01): record plan progress in STATE and ROADMAP
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:23:12 +02:00
Jakub Zych
f9ba69c663 docs(02-01): complete record-and-replay one fixture plan
Tasks completed: 2/2
- Record and replay one route through the summer CLI
- Lock the one-route tide record and replay contract

SUMMARY: .planning/phases/02-api-parity-harness-bootstrap/02-01-SUMMARY.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:22:30 +02:00
Jakub Zych
f669d056c9 feat(02-01): lock the one-route tide record and replay contract
- Reject unknown YAML fields, empty names, duplicate steps and unsafe sidecars
- Treat JSON key order as insignificant and fail missing keys and token types at $.path
- Bound request bodies and refuse oversized or malformed input before writing a fixture

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:21:34 +02:00
Jakub Zych
f6e1b892bc feat(02-01): record and replay one route through the summer CLI
- Add a generic tide flow schema with YAML fixture IO and HTTP record/replay
- Register parity:record and parity:replay on the bonfire summer tool
- Diff JSON scalars at $.path and non-JSON bodies at the changed byte offset

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 12:20:22 +02:00
Jakub Zych
acd31ba28c docs(02): create verified phase plans 2026-09-17 01:57:41 +02:00
Jakub Zych
e3076950c3 docs(02): finalize parity research and validation map 2026-09-17 01:56:49 +02:00
Jakub Zych
a109b52ec6 docs(02): resolve parity proxy port split 2026-09-16 16:27:50 +02:00
Jakub Zych
9368a18530 docs(02): research parity harness and validation 2026-09-16 15:55:53 +02:00
Jakub Zych
f5fca4f62d docs(phase-01): evolve PROJECT.md after phase completion 2026-09-16 14:46:25 +02:00
Jakub Zych
3ad9904fe8 docs(phase-01): complete phase execution 2026-09-16 14:46:25 +02:00
Jakub Zych
7bb1b3a76d test(01): persist human verification items as UAT 2026-09-16 14:39:53 +02:00
Jakub Zych
7a7f35af0e docs(01): add phase verification report 2026-09-16 14:39:53 +02:00
Jakub Zych
fead2527b6 docs(01): add code review report 2026-09-16 14:31:28 +02:00
Jakub Zych
2da09c5233 docs(phase-01): update tracking after wave 4 2026-09-16 14:16:24 +02:00
Jakub Zych
e2c27b02ce chore: merge executor worktree (worktree-agent-01-04) 2026-09-16 14:15:30 +02:00
Jakub Zych
d0ed25cd37 docs(01-04): complete kernel unit and integration test plan
- Record coverage, check-phase1.sh result, and measured hello rebuild
- Document race-buffer and pact-test deviations
2026-09-16 14:15:09 +02:00
Jakub Zych
bee03bd54c docs(01-04): record phase 1 validation evidence
- Mark KERN-01..09 and CLI-01 automated checks passed
- Set nyquist_compliant after scripts/check-phase1.sh succeeded
2026-09-16 14:14:05 +02:00
Jakub Zych
dc7997e45c test(01-04): cover tool, output, watch loop and workspace modules
- Non-TTY widgets/prompts, flag parsing, secret non-leak and malicious IDs
- Real hello workspace rebuild latency line, debounce and ignored bin/tmp
- scripts/check-phase1.sh runs vet/test/race across root, hello, base, greeter, optional
2026-09-16 14:14:05 +02:00
Jakub Zych
a43c734546 test(01-04): cover config, lifecycle, services, events and context
- Table-driven compass precedence, malformed YAML, snake_case env and concurrent reads
- Party duplicate/missing/cycle, reordered manifest, HasConfig/HasCommands discovery
- Isolated backpack services, festival panic payload omission, towel nested isolation
2026-09-16 14:08:17 +02:00
Jakub Zych
4093d4230e docs(phase-01): update tracking after wave 3 2026-09-16 14:02:17 +02:00
Jakub Zych
ce5f06c95a chore: merge executor worktree (worktree-agent-01-03) 2026-09-16 14:02:00 +02:00
Jakub Zych
9b2b035b68 docs(01-03): complete plugin scaffold CLI and watch-loop plan
- Record make:plugin, bonfire output and summer dev results
2026-09-16 14:01:34 +02:00
Jakub Zych
270b7f1e87 feat(01-03): add summer dev watch rebuild loop
- Watch app sources with fsnotify, debounce, and one serialized build.App
- Restart the child only after a successful build and print rebuild latency
- Ignore generated app files and reap the child on cancellation
2026-09-16 13:59:43 +02:00
Jakub Zych
a6004e490f feat(01-03): add deterministic rich CLI output
- Inject bonfire.Output from stdin/stdout/stderr with stdlib widgets and x/term
- Degrade spinner, progress, table and prompts without a TTY or color
- Reject plugin command names that are not namespace:verb
2026-09-16 13:54:44 +02:00
Jakub Zych
9b1a25dc94 feat(01-03): add make:plugin and plugin:add scaffolding
- Scaffold a compiling vendor.plugin module with go.mod, plugin.go and config/
- Register the module once in summer.yaml, go.work and the app go.mod
- Keep summer build on the same generate-and-compile path and print elapsed time
2026-09-16 13:47:27 +02:00
Jakub Zych
46a1ce904a docs(phase-01): update tracking after wave 2 2026-09-16 13:33:11 +02:00
Jakub Zych
5a0d1d0428 chore: merge executor worktree (worktree-agent-01-02) 2026-09-16 13:32:55 +02:00
Jakub Zych
6d1b1ec689 docs(01-02): complete layered config services and events plan
- Record six-level compass, optional services and typed festival bus
- Document TDD commits and auto-fixed toolchain/singleton issues
2026-09-16 13:32:33 +02:00
Jakub Zych
a654e96d66 feat(01-02): dispatch typed events with request context
- App-owned festival bus with Fire, Collect and UntilHandled
- Recover listener panics with owner plugin IDs; isolate buses per app
- towel context accessors and hello command demo of all three modes
2026-09-16 13:30:46 +02:00
Jakub Zych
36c152f4bb test(01-02): add failing test for typed events and context
- Cover Fire/Collect/UntilHandled, priority, panics and bus isolation
- Require towel actor/org/collection/locale accessors on context
- Assert hello command demonstrates all three dispatch modes
2026-09-16 13:27:53 +02:00
Jakub Zych
86969739ae feat(01-02): add optional plugin services and HasPlugin
- App-scoped typed Publish/Lookup with duplicate-provider errors
- Set plugin IDs before Register so HasPlugin sees the full set
- Greeter uses pact.OptionalMessage without importing optional
2026-09-16 13:24:30 +02:00
Jakub Zych
5f2291849d test(01-02): add failing test for optional plugin services
- Cover typed Publish/Lookup, duplicate providers and HasPlugin
- Require missing/cycle errors to name plugin IDs before Boot
- Assert greeter works with and without an optional extra
2026-09-16 13:20:53 +02:00
Jakub Zych
cc44a1fa49 feat(01-02): implement layered compass config
- Merge plugin defaults, sorted YAML, SUMMER_ env, overrides and Set
- Persist atomically to env overrides; Reload clears runtime Set
- Discover HasConfig before Register and print layered hello values
2026-09-16 13:17:13 +02:00
Jakub Zych
255de605b1 test(01-02): add failing test for layered compass config
- Cover six-level precedence, env mapping, .env, Set/Persist/Reload
- Require HasConfig merge before plugin Register
- Assert hello command observes overlay and plugin defaults
2026-09-16 13:13:02 +02:00
Jakub Zych
d0d04c65ac docs(phase-01): update tracking after wave 1 2026-09-16 13:05:20 +02:00
Jakub Zych
892c9336de chore: merge executor worktree (worktree-agent-01a0a9d2) 2026-09-16 13:04:33 +02:00
Jakub Zych
201973d741 docs(01-01): complete hello app kernel plan
- Record task commits, deviations, and verification evidence
2026-09-16 13:03:39 +02:00
Jakub Zych
2078f91a2b feat(01-01): generate and build hello app from manifest
- Add summer build with validated summer.yaml codegen
- Generate stable main.go and plugins.gen.go then go build
- Smoke-test the built hello binary greeter:hello command
2026-09-16 13:01:24 +02:00
Jakub Zych
6695374f21 chore: ignore .entroly local state 2026-09-16 12:59:37 +02:00
Jakub Zych
96a8d38be2 feat(01-01): boot hello app and dispatch greeter:hello
- Add party plugin registry with Register-before-Boot activation
- Add backpack, compass, bonfire, and pact capability interfaces
- Add examples/hello with two compiled plugin modules
2026-09-16 12:57:18 +02:00
Jakub Zych
22ff001f7d docs(roadmap): phase 2 depends on phase 1 command kernel 2026-09-16 12:53:59 +02:00