Skip to content

chore: image compression + golden snapshot auto-fix#52

Closed
Li-Sanze wants to merge 25 commits into
mainfrom
plan/20260529-pre-launch-consolidation
Closed

chore: image compression + golden snapshot auto-fix#52
Li-Sanze wants to merge 25 commits into
mainfrom
plan/20260529-pre-launch-consolidation

Conversation

@Li-Sanze
Copy link
Copy Markdown
Collaborator

Changes

Image compression

  • Compress hand-drawn PNGs: 6.6MB → 437KB (93% smaller)
  • Compress scene JPGs: 764KB → 460KB (40% smaller)

Golden snapshot auto-regeneration

  • Extract scripts/regenerate-golden-snapshots.py as single source of truth
  • release-preflight.sh: auto-regenerate stale snapshots during pre-commit
  • release-sync.sh: replace 48-line inline Python with script call
  • .githooks/pre-commit: stage golden-snapshots.json after version bump

Bug fixes

  • Fix bash 3.2 empty-array unbound variable lost in merge
  • Regenerate golden snapshots for version alignment

Continues from PR #51.

Li-Sanze added 25 commits May 29, 2026 13:16
Standard-level plan for pre-launch consolidation covering 7 directions:
- D2: Output enhancement system (rule-driven, not template piling)
- D3: Command surface convergence (~go exec removal)
- D5: Engineering audit fixes (17 items, 4 blocking)
- D1: README rewrite + visual asset upgrade
- D4: First-touch UX optimization
- D6: Promotional content matrix
- D7: Runtime Phase 2 shrink (design only)

Wave strategy:
- Wave 1 (D2+D3+D5): Internal cleanup, no README
- Wave 2 (D1+D4): README full rewrite + first-touch
- Wave 3 (D6): Promotional content
- Wave 4 (D7): Runtime design only

Includes 2 SVG architecture diagrams and competitive analysis.
- .gitignore: add .env, .venv/, dist/, build/, .claude/settings.local.json, .agents/history/, reports/
- git rm --cached .claude/settings.local.json (untrack local config)
- bootstrap_workspace.py: remove ~summary residual regex from blocked patterns
- bootstrap.sh: remove dead init parameter handling
Remove ~go exec as a user-facing command. Bare ~go now auto-detects
active plans and routes to exec_plan internally. Typing the old
~go exec command returns a migration hint instead of silently entering
a workflow with body 'exec'.

Key changes:
- router.py: remove ~go exec pattern, add snapshot-based active plan
  detection on bare ~go, add ~go finalize explicit route, add ~go exec
  migration hint
- entry_guard.py: empty bypass blocked commands (no more ~go exec)
- output.py: update exec_handoff / next_exec messages (zh-CN + en-US)
- clarification.py: update bodyless command set
- develop SKILL.md: activation condition reflects ~go auto-routing
- header templates / README / blueprint: remove ~go exec from docs
- 658 tests pass, including new migration hint test

Context-Checkpoint: B
- docs: remove ghost path .github/instructions/sopify.instructions.md
  (actual install target is .github/copilot-instructions.md)
- install.sh: add python3 → python → py -3 fallback chain (align with install.ps1)
- tests: delete ~compare dead tests (command removed, 656 tests pass)
- tasks.md: mark 3.11/3.12/3.15 done, skip 3.14 (script exists)
- Rewrite both EN and zh-CN READMEs (tagline, stories, install)
- Add animated SVG demo (Claude Code + Codex CLI scenes)
- Redesign architecture SVG (3 real hosts + skill workflow layer)
- Generate new EN/CN cover images (notebook metaphor)
- Add 3 scene images for zh-CN stories
- Remove logo from README headers, shrink cover to 660px
- Remove obsolete sopify-architecture-cn.jpg
- Polish language: 13 micro-edits from independent review
- Update header.md.template copyright lines
Release-Sync: yes

Release-Version: 2026-05-30.193318

Release-Date: 2026-05-30
…26-05-30.193318

The previous regen commit (7ed1cc5) bumped templates but the snapshot
file in that commit retained the old hashes, causing CI to fail. This
commits the actually-regenerated hashes.
- Update expected output to match real install.sh behavior (Copilot vs Codex/Claude)
- Remove outdated sopify_init.py clone path and 'trigger wiring coming' note
- Mark 5.1/5.2/5.3 as skipped (existing output sufficient)
- Remove plan-internal architecture SVG, point design.md to assets/
- project.md: replace hardcoded /Users/... with generic description
- history/: convert absolute paths to relative or <project-root>/<external-project>
- test fixture: use /mock/workspace/ placeholder
- sopify_init.py: add one-line docstrings to 6 functions
- how-sopify-works (en + zh): update state/ tree (add gate_receipt,
  last_route; remove clarification) and user/ tree (add feedback.jsonl)
- Add minimal .github/ISSUE_TEMPLATE/ (bug_report + feature_request)
- Update tasks.md: mark 5.4, 3.1, 3.10, 3.16, 3.18 as done
PYTHON_ARGS and FORWARDED_ARGS are empty arrays by default on Linux/macOS.
bash 3.2 (macOS system shell) raises 'unbound variable' when expanding an
empty array with set -u. Use the portable conditional form
${arr+"${arr[@]}"} which expands to nothing for empty arrays and
preserves all elements for non-empty arrays.

Discovered during 5.5 end-to-end quickstart validation.
workflow.learning was stripped by P3b replay sunset.
The key is silently dropped by config.py and no longer recognized.
Remove the block from examples/sopify.config.yaml to avoid
misleading users into thinking it has any effect.
Seven user-facing capabilities (resumable workflow, checkpoints,
persistent KB, three-host support, output contract, ~go command).
Replaces P-phase internal milestone list with plain user language.

Release-Sync: yes

Release-Version: 2026-05-30.213559

Release-Date: 2026-05-30
3.17: 656 tests passed, zero failures - mark as done.
8.1: Update blueprint/README.md focus block to reflect Wave A
complete and Wave B in progress.
…shots

- Delete 8 old JPG diagram files from assets/
- Add merged workflow+checkpoint SVG (EN/CN)
- Add hand-drawn harness and lifecycle PNG (EN/CN)
- Update docs image refs (.jpg → .svg/.png)
- Merge checkpoint section into workflow as subsection
- Add workflow doc link after Design principles in READMEs
- Remove redundant doc link from Quick Start section
- Update golden-snapshots.json to fix CI hash mismatches

Release-Sync: yes

Release-Version: 2026-05-30.222058

Release-Date: 2026-05-30
…nch-consolidation

# Conflicts:
#	.sopify-skills/blueprint/README.md
#	.sopify-skills/plan/20260529_pre_launch_consolidation/design.md
#	.sopify-skills/plan/20260529_pre_launch_consolidation/tasks.md
#	CHANGELOG.md
#	README.md
#	README.zh-CN.md
#	examples/external-repo-quickstart/README.md
#	install.sh
#	skills/en/header.md.template
#	skills/zh/header.md.template
#	tests/golden-snapshots.json


Merge commit 71f1b40 resolved install.sh conflict by taking origin/main
version, silently dropping the fix from b1dddcf. Re-applying.
- New: scripts/regenerate-golden-snapshots.py (single source of truth)
- release-preflight.sh: auto-regenerate stale snapshots during pre-commit
- release-sync.sh: replace 48-line inline Python with script call
- Graceful ImportError skip for test fixture environments
- Add script to test_release_hooks fixture file list

Context-Checkpoint: B

Release-Sync: yes

Release-Version: 2026-05-31.131523

Release-Date: 2026-05-31
release-sync regenerates snapshots but the pre-commit hook only staged
5 managed files, leaving golden-snapshots.json unstaged. This caused
CI failures whenever version was bumped during commit.

Context-Checkpoint: B
@Li-Sanze
Copy link
Copy Markdown
Collaborator Author

Replaced by clean rebased PR

@Li-Sanze Li-Sanze closed this May 31, 2026
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