Skip to content

Fix InspireDesign contracts and cache safety#41

Merged
freshtechbro merged 16 commits intomainfrom
codex/fix-launchagent-working-directory
Apr 28, 2026
Merged

Fix InspireDesign contracts and cache safety#41
freshtechbro merged 16 commits intomainfrom
codex/fix-launchagent-working-directory

Conversation

@freshtechbro
Copy link
Copy Markdown
Owner

Summary

  • Make InspireDesign artifacts reference-first with evidence-derived direction vectors, richer motion/material guidance, and grounded handoff artifacts.
  • Clarify InspireDesign ownership by moving workflow-specific code under src/inspiredesign while keeping CLI and tool contracts stable.
  • Harden Canvas lifecycle and design-vector contracts, OpenCode cache update locking and atomic repair, LaunchAgent working-directory safety, and relay identity mismatch fail-closed behavior.

Review and fix loop

  • RepoPrompt blocker review found cache mutation ordering, relay identity mismatch persistence, and missing cache-repair coverage.
  • Fixed cache updates with cache-scoped locking and atomic manifest writes.
  • Fixed relay identity mismatch handling to clear stale identity/token, disconnect, and avoid handshake refresh before disconnect.
  • Final RepoPrompt blocker-only review reported no P0/P1/P2 blockers.

Verification

  • npx vitest run tests/cli-update.test.ts tests/cli-update-skill-modes.test.ts tests/cli-lifecycle-command.test.ts tests/extension-connection-manager.test.ts tests/extension-background.test.ts tests/extension-relay-client.test.ts --coverage.enabled=false
  • npm run lint
  • npm run typecheck
  • npm run build
  • npm run test
  • git diff --check
  • node scripts/audit-zombie-files.mjs

Notes

  • Local artifacts and continuity ledgers remain ignored and uncommitted.
  • No feature flags, fallbacks, or compatibility layers were added.

freshtechbro and others added 16 commits April 24, 2026 08:25
- write a stable non-root LaunchAgent WorkingDirectory

- classify missing or mismatched working directories as repairable

- cover LaunchAgent working-directory generation and status parsing

Co-authored-by: Codex <noreply@openai.com>
- require the expected macOS LaunchAgent working directory to exist as a directory

- cover deleted, file-backed, and precedence repair scenarios

Co-authored-by: Codex <noreply@openai.com>
- Keep inspiredesign daemon calls pinned to the configured daemon during recovery
- Persist healthy relay identity changes after reconnect
- Guard canvas terminal events by lease to prevent stale session deletion

Co-authored-by: Codex <noreply@openai.com>
- Remove stale opendevbrowser pins from OpenCode cache manifests during update

- Clear OpenCode cache lockfiles so old plugin versions are not reused

- Cover existing-user cache repair with isolated temp-cache tests

Co-authored-by: Codex <noreply@openai.com>
- Update README, CLI, troubleshooting, and surface inventory wording for update repair

- Align CLI command descriptions and generated public-surface metadata

Co-authored-by: Codex <noreply@openai.com>
- Add reference synthesis to Advanced Brief, design.md, implementation plan, prototype guidance, Canvas plan, handoff, and evidence artifacts
- Include DOM-only capture cues and clip long reference summaries before generation-plan emission
- Make prototype guidance a required artifact only when it is emitted
- Route fashion design studio briefs to the maison campaign format instead of the generic creative-tool route

Co-authored-by: Codex <noreply@openai.com>
- Expand zombie duplicate detection to catch numbered suffixes 2 through 9.
- Cover extension zip duplicate artifacts while preserving canonical numeric filenames.

Co-authored-by: Codex <noreply@openai.com>
- Cover negated dashboard wording so exclusions do not drive routing.
- Cover reference-first pattern board and design vector propagation.
- Cover artifact handoff requirements for generation and Canvas outputs.

Co-authored-by: Codex <noreply@openai.com>
- Build reference pattern boards before advanced brief construction.
- Thread evidence-derived design vectors through generated artifacts and Canvas requests.
- Treat selected profiles as guardrails after synthesis instead of the creative source of truth.

Co-authored-by: Codex <noreply@openai.com>
- add evidence-aware interaction and material design vectors
- thread microinteraction, cursor, parallax, glass, and reduced-motion guidance through inspiredesign artifacts
- cover contract and workflow artifact propagation

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
- Move InspireDesign contract and capture modules under src/inspiredesign.
- Rewire CLI, tool, workflow, renderer, tests, and inventory paths.
- Add ReferenceRetrievalPort for the InspireDesign retrieval seam.

Co-authored-by: Codex <noreply@openai.com>
- Preserve Canvas design vectors through generation plan validation.
- Harden OpenCode cache repair against symlink mutation paths.
- Enforce Canvas lifecycle lease contracts and evidence-derived briefs.

Co-authored-by: Codex <noreply@openai.com>
- Add cache-scoped locking and atomic manifest rewrite for OpenCode update repair

- Reject relay identity mismatch without persisting the unexpected relay

- Cover lockfile-only repair and update lock contention

Co-authored-by: Codex <noreply@openai.com>
- Keep relay identity mismatch fail-closed before any refresh handshake

- Assert mismatched relays receive no follow-up handshake

Co-authored-by: Codex <noreply@openai.com>
@freshtechbro freshtechbro merged commit 3514cbe into main Apr 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant