@litfamily/litopencode 1.0.31 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README-Ko-KR.md +6 -6
- package/README.md +6 -6
- package/dist/activation-probe.js +1 -0
- package/dist/activation-prompt-utils.d.ts +1 -1
- package/dist/activation-reentry.d.ts +20 -0
- package/dist/activation-reentry.js +110 -1
- package/dist/activation-routing.d.ts +2 -1
- package/dist/activation-routing.js +100 -11
- package/dist/activation-workflow-prompts.d.ts +4 -0
- package/dist/activation-workflow-prompts.js +30 -0
- package/dist/activation.d.ts +1 -1
- package/dist/activation.js +44 -5
- package/dist/adhd-next.d.ts +51 -0
- package/dist/adhd-next.js +150 -0
- package/dist/cli/managed-skill-assets.d.ts +1 -1
- package/dist/cli/managed-skill-assets.js +7 -1
- package/dist/cli/native-skill-integrity.js +1 -1
- package/dist/cli.js +7 -1
- package/dist/commands.d.ts +28 -1
- package/dist/commands.js +48 -1
- package/dist/features.d.ts +80 -1
- package/dist/features.js +105 -1
- package/dist/ledger.js +12 -1
- package/dist/secret-shapes.js +5 -5
- package/dist/skills.d.ts +22 -1
- package/dist/skills.js +36 -0
- package/dist/start-work-typed.d.ts +34 -0
- package/dist/start-work-typed.js +156 -0
- package/dist/state.d.ts +2 -0
- package/dist/state.js +2 -0
- package/dist/tools.js +22 -2
- package/dist/tui/mission-band.d.ts +20 -1
- package/dist/tui/mission-band.js +73 -16
- package/dist/tui/mission-looks.d.ts +38 -0
- package/dist/tui/mission-looks.js +73 -0
- package/dist/tui/mission-model.d.ts +2 -0
- package/dist/tui/mission-model.js +3 -1
- package/dist/tui/mission-rainbow.d.ts +33 -0
- package/dist/tui/mission-rainbow.js +90 -0
- package/dist/tui/mission-source.d.ts +48 -0
- package/dist/tui/mission-source.js +184 -2
- package/dist/tui/mission-text.d.ts +2 -0
- package/dist/tui/mission-text.js +9 -1
- package/dist/tui/mission-threads.d.ts +50 -0
- package/dist/tui/mission-threads.js +119 -0
- package/dist/tui.js +84 -6
- package/dist/uiux-visual-catalog.js +8 -1
- package/dist/v2/session-hooks.js +38 -5
- package/dist/workflow-stack.d.ts +53 -0
- package/dist/workflow-stack.js +196 -0
- package/docs/assets/readme/badge-version.svg +1 -1
- package/docs/assets/skills/lit-schematic.webp +0 -0
- package/docs/reference-Ko-KR.md +30 -2
- package/docs/reference.md +34 -2
- package/package.json +1 -1
- package/skills/frontend-ui-ux/SKILL.md +3 -2
- package/skills/frontend-ui-ux/kit/components.css +414 -0
- package/skills/frontend-ui-ux/kit/fonts.json +22 -0
- package/skills/frontend-ui-ux/kit/layouts/landing.html +164 -0
- package/skills/frontend-ui-ux/kit/layouts/settings.html +114 -0
- package/skills/frontend-ui-ux/kit/layouts/workspace.html +115 -0
- package/skills/frontend-ui-ux/kit/styles/computational-brutalism.json +227 -0
- package/skills/frontend-ui-ux/kit/styles/field-notes.json +205 -0
- package/skills/frontend-ui-ux/kit/styles/graphite.json +200 -0
- package/skills/frontend-ui-ux/kit/styles/meadow.json +199 -0
- package/skills/frontend-ui-ux/kit/styles/neo-brutalism.json +222 -0
- package/skills/frontend-ui-ux/kit/ui.js +226 -0
- package/skills/frontend-ui-ux/references/brand-and-imagery.md +2 -2
- package/skills/frontend-ui-ux/references/complete-contract.md +2 -1
- package/skills/frontend-ui-ux/references/craft-floor.md +6 -2
- package/skills/frontend-ui-ux/references/default-editorial-pixel.json +3 -0
- package/skills/frontend-ui-ux/references/house-styles.md +236 -0
- package/skills/frontend-ui-ux/references/motion-guide.md +2 -2
- package/skills/frontend-ui-ux/references/production.md +3 -1
- package/skills/frontend-ui-ux/references/slop-register.md +4 -4
- package/skills/frontend-ui-ux/scripts/design-lock.mjs +400 -0
- package/skills/frontend-ui-ux/scripts/pixel-art.mjs +60 -0
- package/skills/frontend-ui-ux/scripts/probe-lock.mjs +235 -0
- package/skills/frontend-ui-ux/scripts/probe-page.mjs +34 -12
- package/skills/frontend-ui-ux/scripts/probe-static.mjs +16 -3
- package/skills/frontend-ui-ux/scripts/probe-thresholds.json +8 -2
- package/skills/frontend-ui-ux/scripts/probe.mjs +35 -7
- package/skills/lit-adhd/SKILL.md +208 -0
- package/skills/lit-adhd/references/brief-format.md +43 -0
- package/skills/lit-adhd/references/card-examples.md +82 -0
- package/skills/lit-adhd/references/status-taxonomy.md +29 -0
- package/skills/lit-adhd/scripts/rewind.mjs +835 -0
- package/skills/lit-diagram-drawer/SKILL.md +4 -3
- package/skills/lit-diagram-drawer/references/style-guide.md +20 -11
- package/skills/lit-diagram-drawer/references/type-architecture.md +3 -3
- package/skills/lit-diagram-drawer/references/type-dependency.md +1 -1
- package/skills/lit-diagram-drawer/references/type-tree.md +3 -3
- package/skills/lit-diagram-drawer/references/type-wardley.md +1 -1
- package/skills/lit-diagram-drawer/references/verifier-guide.md +1 -0
- package/skills/lit-diagram-drawer/scripts/craft-thresholds.json +1 -2
- package/skills/lit-diagram-drawer/scripts/visual-quality.mjs +1 -2
- package/skills/lit-docx/SKILL.md +2 -1
- package/skills/lit-handoff/SKILL.md +2 -0
- package/skills/lit-hijack/SKILL.md +422 -0
- package/skills/lit-hijack/references/capture-and-provenance.md +87 -0
- package/skills/lit-hijack/references/clean-room-build.md +111 -0
- package/skills/lit-hijack/references/distil-and-licence.md +100 -0
- package/skills/lit-hijack/references/gap-and-port-design.md +126 -0
- package/skills/lit-hijack/references/parity-and-report.md +110 -0
- package/skills/lit-hijack/scripts/hijack.mjs +993 -0
- package/skills/lit-plan/SKILL.md +2 -0
- package/skills/lit-pptx/SKILL.md +27 -11
- package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Bold.ttf +0 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Regular.ttf +0 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/OFL.txt +93 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/SOURCE.md +17 -0
- package/skills/lit-pptx/references/density-and-fill.md +9 -3
- package/skills/lit-pptx/references/direction-step.md +21 -6
- package/skills/lit-pptx/references/examples/04-lecture-chalk-ko.md +3 -6
- package/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +1 -5
- package/skills/lit-pptx/references/examples/08-reliability-keynote-night-en.md +0 -4
- package/skills/lit-pptx/references/examples/09-status-update-ledger-en.md +2 -2
- package/skills/lit-pptx/references/examples/11-forecast-review-night-ko.md +4 -7
- package/skills/lit-pptx/references/examples/13-engineering-review-computational-brutalism-ko.md +173 -0
- package/skills/lit-pptx/references/examples/14-launch-pitch-neo-brutalism-ko.md +154 -0
- package/skills/lit-pptx/references/examples/15-design-lecture-bauhaus-ko.md +139 -0
- package/skills/lit-pptx/references/examples/16-community-programme-riso-ko.md +158 -0
- package/skills/lit-pptx/references/examples/17-public-data-briefing-newsroom-ko.md +179 -0
- package/skills/lit-pptx/references/layout-families.md +65 -47
- package/skills/lit-pptx/references/title-treatments.md +83 -134
- package/skills/lit-pptx/references/tonalities/atlas.md +3 -3
- package/skills/lit-pptx/references/tonalities/bauhaus.md +140 -0
- package/skills/lit-pptx/references/tonalities/chalk.md +7 -6
- package/skills/lit-pptx/references/tonalities/computational-brutalism.md +150 -0
- package/skills/lit-pptx/references/tonalities/gazette.md +1 -1
- package/skills/lit-pptx/references/tonalities/ledger.md +1 -1
- package/skills/lit-pptx/references/tonalities/neo-brutalism.md +161 -0
- package/skills/lit-pptx/references/tonalities/newsroom.md +144 -0
- package/skills/lit-pptx/references/tonalities/night.md +1 -1
- package/skills/lit-pptx/references/tonalities/paper.md +2 -2
- package/skills/lit-pptx/references/tonalities/riso.md +137 -0
- package/skills/lit-pptx/references/tonalities/signal.md +3 -3
- package/skills/lit-pptx/references/tonalities/studio.md +7 -6
- package/skills/lit-pptx/run.mjs +2 -1
- package/skills/lit-pptx/scripts/compile-deck.js +1 -1
- package/skills/lit-pptx/scripts/craft-thresholds.json +4 -8
- package/skills/lit-pptx/scripts/craft_extras.py +56 -3
- package/skills/lit-pptx/scripts/deck_output.py +75 -90
- package/skills/lit-pptx/scripts/embed_fonts.py +13 -1
- package/skills/lit-pptx/scripts/layout_inventory.py +12 -5
- package/skills/lit-pptx/scripts/lib/grid-resolver.js +101 -110
- package/skills/lit-pptx/scripts/lib/layout-resolver.js +9 -15
- package/skills/lit-pptx/scripts/lib/render-pack.js +373 -566
- package/skills/lit-pptx/scripts/lib/slide-grid.js +104 -0
- package/skills/lit-pptx/scripts/lib/template-registry.js +57 -6
- package/skills/lit-pptx/scripts/qa_deck.py +10 -11
- package/skills/lit-pptx/scripts/render_pages.py +118 -0
- package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/bauhaus/pack.yaml +98 -0
- package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/computational-brutalism/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/neo-brutalism/pack.yaml +107 -0
- package/skills/lit-pptx/templates/tonalities/newsroom/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/night/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/riso/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +2 -2
- package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +1 -1
- package/skills/lit-recap/SKILL.md +4 -0
- package/skills/lit-schematic/SKILL.md +118 -0
- package/skills/lit-schematic/examples/iso-heat-exchanger/build.mjs +38 -0
- package/skills/lit-schematic/examples/iso-heat-exchanger/scene.mjs +133 -0
- package/skills/lit-schematic/examples/journal-adsorption-rig/build.mjs +87 -0
- package/skills/lit-schematic/examples/pid-dosing-skid/build.mjs +85 -0
- package/skills/lit-schematic/references/cutaway-outputs.md +70 -0
- package/skills/lit-schematic/references/isometric-craft.md +101 -0
- package/skills/lit-schematic/references/journal-figures.md +72 -0
- package/skills/lit-schematic/references/kit-api.md +134 -0
- package/skills/lit-schematic/references/pfd-and-layout.md +53 -0
- package/skills/lit-schematic/references/pid-drafting.md +103 -0
- package/skills/lit-schematic/references/pid-symbols.md +163 -0
- package/skills/lit-schematic/references/verification.md +100 -0
- package/skills/lit-schematic/scripts/doctor.mjs +57 -0
- package/skills/lit-schematic/scripts/lib/figure.mjs +81 -0
- package/skills/lit-schematic/scripts/lib/fonts.mjs +25 -0
- package/skills/lit-schematic/scripts/lib/geom.mjs +113 -0
- package/skills/lit-schematic/scripts/lib/interactive.mjs +292 -0
- package/skills/lit-schematic/scripts/lib/isa.mjs +115 -0
- package/skills/lit-schematic/scripts/lib/iso.mjs +719 -0
- package/skills/lit-schematic/scripts/lib/legend-sheet.mjs +162 -0
- package/skills/lit-schematic/scripts/lib/pid.mjs +937 -0
- package/skills/lit-schematic/scripts/lib/png.mjs +132 -0
- package/skills/lit-schematic/scripts/lib/qa-core.mjs +658 -0
- package/skills/lit-schematic/scripts/lib/route.mjs +218 -0
- package/skills/lit-schematic/scripts/lib/sheet.mjs +890 -0
- package/skills/lit-schematic/scripts/lib/svg.mjs +82 -0
- package/skills/lit-schematic/scripts/lib/theme.mjs +115 -0
- package/skills/lit-schematic/scripts/motion.mjs +129 -0
- package/skills/lit-schematic/scripts/qa.mjs +92 -0
- package/skills/lit-schematic/scripts/render.mjs +233 -0
- package/skills/lit-schematic/scripts/scaffold.mjs +60 -0
- package/skills/lit-scientific-visualization/SKILL.md +27 -4
- package/skills/lit-typographic-motion/SKILL.md +19 -17
- package/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +9 -0
- package/skills/lit-typographic-motion/engine/accents.mjs +6 -0
- package/skills/lit-typographic-motion/engine/assets.mjs +282 -0
- package/skills/lit-typographic-motion/engine/blender/runner.py +228 -0
- package/skills/lit-typographic-motion/engine/blender.mjs +126 -0
- package/skills/lit-typographic-motion/engine/board.mjs +138 -0
- package/skills/lit-typographic-motion/engine/cover/assets.mjs +11 -8
- package/skills/lit-typographic-motion/engine/cover/capture.mjs +6 -6
- package/skills/lit-typographic-motion/engine/cover/render.mjs +20 -7
- package/skills/lit-typographic-motion/engine/cover/treatment.mjs +30 -3
- package/skills/lit-typographic-motion/engine/fill.mjs +54 -0
- package/skills/lit-typographic-motion/engine/gallery.mjs +118 -0
- package/skills/lit-typographic-motion/engine/house.mjs +42 -0
- package/skills/lit-typographic-motion/engine/look.mjs +65 -8
- package/skills/lit-typographic-motion/engine/loudness.mjs +101 -0
- package/skills/lit-typographic-motion/engine/scaffold.mjs +219 -0
- package/skills/lit-typographic-motion/engine/score.mjs +594 -0
- package/skills/lit-typographic-motion/engine/sound.mjs +9 -57
- package/skills/lit-typographic-motion/engine/stage/capture.mjs +23 -9
- package/skills/lit-typographic-motion/engine/stage/clock.js +8 -2
- package/skills/lit-typographic-motion/engine/stage/cover-init.js +12 -1
- package/skills/lit-typographic-motion/engine/stage/frame-worker.mjs +15 -7
- package/skills/lit-typographic-motion/engine/stage/gate.mjs +48 -4
- package/skills/lit-typographic-motion/engine/stage/qa-page.js +16 -5
- package/skills/lit-typographic-motion/engine/stage/qa.mjs +148 -7
- package/skills/lit-typographic-motion/engine/stage/render.mjs +69 -7
- package/skills/lit-typographic-motion/engine/stage/scan.mjs +20 -1
- package/skills/lit-typographic-motion/engine/stage/stage-kit.js +85 -4
- package/skills/lit-typographic-motion/engine/stills.mjs +1 -1
- package/skills/lit-typographic-motion/engine/styles.mjs +221 -0
- package/skills/lit-typographic-motion/engine/text.mjs +1 -1
- package/skills/lit-typographic-motion/engine/treatment.mjs +190 -6
- package/skills/lit-typographic-motion/engine/vendor/three/LICENSE +21 -0
- package/skills/lit-typographic-motion/engine/vendor/three/addons/environments/RoomEnvironment.js +144 -0
- package/skills/lit-typographic-motion/engine/vendor/three/addons/geometries/RoundedBoxGeometry.js +155 -0
- package/skills/lit-typographic-motion/engine/vendor/three/three.module.js +54571 -0
- package/skills/lit-typographic-motion/gate.mjs +18 -2
- package/skills/lit-typographic-motion/probe.mjs +13 -1
- package/skills/lit-typographic-motion/recipes/hero-3d/expected.json +64 -0
- package/skills/lit-typographic-motion/recipes/hero-3d/index.html +132 -0
- package/skills/lit-typographic-motion/recipes/orbit-loop/expected.json +2 -0
- package/skills/lit-typographic-motion/recipes/painted-light/expected.json +2 -0
- package/skills/lit-typographic-motion/recipes/weight-tide/expected.json +2 -0
- package/skills/lit-typographic-motion/references/cover.md +56 -13
- package/skills/lit-typographic-motion/references/craft-loop.md +20 -7
- package/skills/lit-typographic-motion/references/depth.md +112 -0
- package/skills/lit-typographic-motion/references/runtime.md +21 -6
- package/skills/lit-typographic-motion/references/sound.md +76 -0
- package/skills/lit-typographic-motion/references/stage.md +50 -7
- package/skills/lit-typographic-motion/references/studio.md +162 -0
- package/skills/lit-typographic-motion/references/style-bibles.md +18 -0
- package/skills/lit-typographic-motion/references/treatment.md +108 -9
- package/skills/lit-typographic-motion/render.mjs +60 -3
- package/skills/lit-typographic-motion/styles/paper.json +185 -0
- package/skills/lit-typographic-motion/styles/swiss-signal.json +188 -0
- package/skills/lit-typographic-motion/styles/terminalcore.json +182 -0
- package/skills/lit-typographic-motion/styles/tidal.json +187 -0
- package/skills/litresearch/SKILL.md +2 -0
- package/skills/managed-skill-manifest.json +517 -88
- package/skills/readme-studio/SKILL.md +1 -1
- package/skills/review-work/SKILL.md +2 -0
- package/skills/start-work/SKILL.md +8 -0
- package/skills/workflow-loop/SKILL.md +4 -0
- package/tools/check-pack-payload.mjs +4 -2
- package/tools/payload-substance-parity.json +4 -3
- package/tools/qa-cover-recipes.mjs +4 -3
|
@@ -35,7 +35,7 @@ Read the selected repository's instructions, current README, package manifests,
|
|
|
35
35
|
|
|
36
36
|
## #contract.procedure
|
|
37
37
|
|
|
38
|
-
1. Follow `references/production.md` to inventory claims, source paths, links, install command and license. Use `templates/facts.json`. Compare every claim with the actual cited source. The facts helper checks structure and path safety only; it does not read for semantic truth or verify badge endpoints.
|
|
38
|
+
1. Follow `references/production.md` to inventory claims, source paths, links, install command and license. Use `templates/facts.json`. Compare every claim with the actual cited source. The facts helper checks structure and path safety only; it does not read for semantic truth or verify badge endpoints. Before any cover or typography work, unless the prompt names the cover look or leaves it to you ("you choose", "알아서", "아무거나"), ask the user to pick the visual direction with OpenCode's `question` tool: two to four directions (theme, ink and accent mood) drawn from the project's identity, the best fit first labelled `(Recommended)`, and keep the answer in the decision note. When the session cannot ask (a non-interactive `opencode run`, no `question` tool, or the permission is denied), take the recommended option and say so in one line of the reply.
|
|
39
39
|
2. Anchor every lazy resource and helper to the exact native-selected SKILL.md, including installed paths with spaces. From the authorized repository:
|
|
40
40
|
|
|
41
41
|
```sh
|
|
@@ -192,6 +192,8 @@ The following lanes belong to work review:
|
|
|
192
192
|
4. **Security/provenance** - check prompt-injection handling, credential redaction, public-source boundaries, dependency changes, and clean-room wording.
|
|
193
193
|
5. **Real-surface/docs** - probe the user-visible command, hook, CLI, package import, or docs surface that would expose the change.
|
|
194
194
|
|
|
195
|
+
When a lane reaches its verdict, report it with the `review-work` tool: `action: "lane"`, `lane` one of `scope`, `tests`, `package`, `security`, `surface`, and `result` one of `pass`, `fail`, `blocked`. The OpenCode status card splits its top border into these five lanes and colours a stretch only after its report arrives, so the user watches real progress; a lane you skip stays dim. Report each lane once, after its evidence, never ahead of it. Use `blocked` when the lane could not run, which reads as a failure, not a pass.
|
|
196
|
+
|
|
195
197
|
## Review Posture
|
|
196
198
|
|
|
197
199
|
`review-work` is adversarial but not hostile. The reviewer’s job is to protect the user from plausible false completion claims. A DoneClaim is a hypothesis: “these files changed, these tests prove the behavior, these risks remain, and cleanup is complete.” The review asks what would make that hypothesis false. It should prefer current evidence over confidence, direct local files over summaries, and user-visible probes over implementation intent.
|
|
@@ -183,6 +183,10 @@ Paused work cannot complete. It must receive a matching trusted resume or explic
|
|
|
183
183
|
Cancelled and completed items are terminal and permit a new init at the next monotonic revision;
|
|
184
184
|
active or paused work cannot be overwritten by a new init.
|
|
185
185
|
|
|
186
|
+
## Typed Start, Approve and Deny
|
|
187
|
+
|
|
188
|
+
A user can also type `start-work`, `start-work plans/<name>.md` or `/start-work [plan]` without a pasted directive. The plugin then resolves the named plan, else the latest durable plan, else the only plan with an open row, and calls lifecycle init on the user's behalf with read, write and execute grants under the workspace root. Nothing wider is ever granted this way, and an unresolved plan only adds one sentence to the ordinary activation. When the run pauses at a boundary, the user's whole-prompt `lit approve` resumes with exactly that boundary and `lit deny` cancels the run, because the lifecycle has no refused-but-paused state; the reply says the run ended and how to start it again. Only the user's own prompt in a root session can answer a boundary. After a `lit-adhd` brief that recommends this run or an open plan, a bare `go` continues it. A side discipline such as `lit-plan` or `litresearch` pauses this one on the workflow stack; `lit continue` or `go` returns here.
|
|
189
|
+
|
|
186
190
|
## Safety
|
|
187
191
|
|
|
188
192
|
- Preserve unrelated workspace changes.
|
|
@@ -211,6 +215,10 @@ Maximum safe subagent delegation means using independent lanes when they reduce
|
|
|
211
215
|
|
|
212
216
|
A good delegation packet includes scope, allowed files, mutation permission, test command, expected return format, stop rules, and an explicit `return_mode: reader|technical|audit`. Detailed worker evidence remains available to the parent and reviewer even when the assigned conversational return is `reader`. Do not let subagents commit, tag, push, publish, bump versions, alter host config, or clean unrelated state unless the user explicitly approved those actions and the parent delegated them in writing.
|
|
213
217
|
|
|
218
|
+
### Plans that come from a lit-hijack spec
|
|
219
|
+
|
|
220
|
+
When the plan was written from a `lit-hijack` spec, give implementer lanes the packet from `hijack.mjs brief <run>` (the spec and the target, with the captured sources left out). The `task` tool has no host worktree isolation, so create a separate `git worktree` for each implementer lane and give the lane that absolute directory as its only place to edit. Run `hijack.mjs check <run> --phase build` before ticking the last implementation row. A build-gate failure means source wording reached the target; rewrite that part from the spec instead of editing words around it.
|
|
221
|
+
|
|
214
222
|
## Implementation Discipline
|
|
215
223
|
|
|
216
224
|
Make the smallest change that satisfies the approved success criteria. Reuse existing `node:test` style, existing helpers, existing package scripts, and native Node APIs before adding custom code. Preserve import style, formatting conventions, explicit TypeScript extension conventions, and test naming. Remove only unused code introduced by the slice. Mention unrelated dead code or suspicious state, but do not clean it up unless the approved plan includes that cleanup.
|
|
@@ -141,6 +141,10 @@ Use this LitOpenCode skill when a contributor needs the static workflow-loop map
|
|
|
141
141
|
- Runtime feature id: `start-work`
|
|
142
142
|
- Runtime feature id: `review-work`
|
|
143
143
|
|
|
144
|
+
## Side Work and Coming Back
|
|
145
|
+
|
|
146
|
+
The root session keeps a small workflow stack under `.litopencode/workflow-stack/<session>.json`. The spine disciplines are `lit-loop`, `lit-plan`, `start-work` and `lit-task`. When a side discipline (research, review, a diagram, a recap) is activated mid-run, the spine is paused rather than dropped, and `lit continue` or a live `go` resumes it with its original goal and stage. A spine untouched for six hours is stale and is not resumed silently. To see every earlier session in this worktree family, with one recommended next step, use `lit-adhd` (alias `lit-rewind`).
|
|
147
|
+
|
|
144
148
|
## Safety
|
|
145
149
|
|
|
146
150
|
- This file is static documentation.
|
|
@@ -5,7 +5,7 @@ import process from "node:process";
|
|
|
5
5
|
import { readStableRegularFile } from "../skills/frontend-ui-ux/scripts/stable-file-read.mjs";
|
|
6
6
|
|
|
7
7
|
// Shown by the GitHub pages only; the npm cards never reference them, so they stay out of the package.
|
|
8
|
-
const GITHUB_ONLY_README_MEDIA = /^docs\/assets\/readme\/(?:(?:install-output|doctor-output|ignition-toast|planner-permissions)-(?:dark|light)\.webp|status-card-(?:idle|working|recent)\.webp|auto-handoff-(?:settings|compact|doctor)-(?:dark|light)\.webp|promo(?:-[^/]+)?\.[^/]+|promo-source(?:\/.*)?)$/u;
|
|
8
|
+
const GITHUB_ONLY_README_MEDIA = /^docs\/assets\/readme\/(?:(?:install-output|doctor-output|ignition-toast|planner-permissions)-(?:dark|light)\.webp|status-card-(?:idle|working|recent)\.webp|showcase-(?:adhd-brief|deck|ui|pid)\.webp|auto-handoff-(?:settings|compact|doctor)-(?:dark|light)\.webp|promo(?:-[^/]+)?\.[^/]+|promo-source(?:\/.*)?)$/u;
|
|
9
9
|
// The landing README links these GitHub pages for what moved off it (guide, skills gallery, screens,
|
|
10
10
|
// artwork). They load images by paths relative to docs/, and they stay out of the package with the social preview.
|
|
11
11
|
const GITHUB_DOC_PAGES = ["docs/guide.md", "docs/guide-Ko-KR.md", "docs/skills.md", "docs/skills-Ko-KR.md", "docs/screens.md", "docs/screens-Ko-KR.md", "docs/brand.md", "docs/brand-Ko-KR.md"];
|
|
@@ -18,7 +18,7 @@ const FORBIDDEN_PATH_RULES = [
|
|
|
18
18
|
{ label: "local asset generator", pattern: /^generate_cover\.py$/u },
|
|
19
19
|
{ label: "repository cover PNG", pattern: /^cover\.png$/u },
|
|
20
20
|
{ label: "repository cover vector", pattern: /^docs\/assets\/cover\.svg$/u },
|
|
21
|
-
{ label: "GitHub-only README media (on-screen pictures, status card, automatic handoff, promo film)", pattern: GITHUB_ONLY_README_MEDIA },
|
|
21
|
+
{ label: "GitHub-only README media (on-screen pictures, status card, showcase, automatic handoff, promo film)", pattern: GITHUB_ONLY_README_MEDIA },
|
|
22
22
|
{ label: "unapproved README presentation asset", pattern: /^docs\/assets\/readme\/(?!(?:ascii-readme|badge-version|badge-license|lucide-book-open|lucide-play|lucide-shield-check)\.svg$|litopencode-wordmark\.svg$|litopencode-clay-icon\.png$|(?:litfamily-machines|poster)\.png$|ignition-film\.mp4$|ignition-readme\.gif$|(?:Lucide-LICENSE|JetBrainsMono-OFL)\.txt$)/u },
|
|
23
23
|
{ label: "maintainer release checklist", pattern: /^docs\/release-checklist\.md$/u },
|
|
24
24
|
{ label: "GitHub-only docs page, social preview or demo film", pattern: GITHUB_ONLY_DOCS },
|
|
@@ -39,6 +39,8 @@ const FORBIDDEN_PATH_RULES = [
|
|
|
39
39
|
{ label: "diagram preview raster", pattern: /^skills\/lit-diagram-drawer\/.*\.(?:png|jpe?g|webp)$/iu },
|
|
40
40
|
{ label: "diagram Office proof script", pattern: /^skills\/lit-diagram-drawer\/scripts\/office-proof\.py$/u },
|
|
41
41
|
{ label: "diagram source archive path", pattern: /^skills\/lit-diagram-drawer\/(?:plans|_refs)(?:\/|$)/u },
|
|
42
|
+
{ label: "schematic rendered output or working directory", pattern: /^skills\/lit-schematic\/(?:.*\.(?:png|jpe?g|webp|gif|mp4|pdf)$|\.work(?:\/|$)|evidence(?:\/|$))/iu },
|
|
43
|
+
{ label: "interface kit rendered output or design-lock project files", pattern: /^skills\/frontend-ui-ux\/(?:kit\/.*\.(?:png|jpe?g|webp|gif|mp4|pdf)$|design\.lock\.json$|ui(?:\/|$)|evidence(?:\/|$))/iu },
|
|
42
44
|
{ label: "reference archive", pattern: /(^|\/)# REFERENCE(\/|$)/u },
|
|
43
45
|
{ label: "package archive", pattern: /\.tgz$/u },
|
|
44
46
|
{ label: "dependency directory", pattern: /(^|\/)node_modules(\/|$)/u },
|
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"lit-init",
|
|
155
155
|
"lit-plan",
|
|
156
156
|
"lit-recap",
|
|
157
|
+
"lit-schematic",
|
|
157
158
|
"lit-scientific-visualization",
|
|
158
159
|
"lit-typographic-motion",
|
|
159
160
|
"litgoal",
|
|
@@ -177,8 +178,8 @@
|
|
|
177
178
|
"workflow-loop"
|
|
178
179
|
],
|
|
179
180
|
"inventory": {
|
|
180
|
-
"count":
|
|
181
|
-
"sha256": "
|
|
181
|
+
"count": 49,
|
|
182
|
+
"sha256": "473f9e5b4e60ff88edf2b0ff9d45bd0023b4b21afc667be7ccee5071c247f1fa"
|
|
182
183
|
}
|
|
183
184
|
},
|
|
184
185
|
"p33": {
|
|
@@ -290,7 +291,7 @@
|
|
|
290
291
|
"p27": 209,
|
|
291
292
|
"p28": 204,
|
|
292
293
|
"p31": 198,
|
|
293
|
-
"p32":
|
|
294
|
+
"p32": 234,
|
|
294
295
|
"p33": 211
|
|
295
296
|
}
|
|
296
297
|
},
|
|
@@ -51,7 +51,8 @@ export function judgeCase(mustFail, { status, manifest }) {
|
|
|
51
51
|
// Every negative shares this treatment; its expected.json sets the loop, the rate and the encode.
|
|
52
52
|
const negativeTreatment = (over) => ({
|
|
53
53
|
mode: "cover", request: "A slide-like negative rendered by the cover recipe QA.", idea: "Text states on a timeline that the decoded-file gate has to fail.",
|
|
54
|
-
recipe: "own", recipeReason: "A regression negative that must keep failing, never a recipe.",
|
|
54
|
+
recipe: "own", recipeReason: "A regression negative that must keep failing, never a recipe.",
|
|
55
|
+
hero: "Cards and lines that change state.", beat: "Each card or line changes state on the timeline.", brandWord: "LITCARD", aspect: "2:1",
|
|
55
56
|
layers: { slow: "Nothing moves slowly.", mid: "Nothing swells.", beat: "Cards and lines change state." },
|
|
56
57
|
system: { rule: "Text states on a timeline.", copies: "One per card or line.", offset: "None." },
|
|
57
58
|
title: { box: [0.1, 0.25, 0.8, 0.5], kind: "live" }, ambition: "It keeps failing its named gates.", ...over
|
|
@@ -82,7 +83,7 @@ function main() {
|
|
|
82
83
|
const option = (name) => { const i = argv.indexOf(`--${name}`); return i >= 0 && argv[i + 1] && !argv[i + 1].startsWith("--") ? argv[i + 1] : undefined; };
|
|
83
84
|
const outRoot = path.resolve(option("out") ?? mkdtempSync(path.join(os.tmpdir(), "ltm-cover-qa-")));
|
|
84
85
|
const feather = option("feather");
|
|
85
|
-
const only = feather !== undefined ? [] : (option("only") ?? "painted-light,weight-tide,orbit-loop").split(",");
|
|
86
|
+
const only = feather !== undefined ? [] : (option("only") ?? "painted-light,weight-tide,orbit-loop,hero-3d").split(",");
|
|
86
87
|
const rows = [];
|
|
87
88
|
let failed = 0;
|
|
88
89
|
|
|
@@ -115,7 +116,7 @@ function main() {
|
|
|
115
116
|
const cases = [];
|
|
116
117
|
if (argv.includes("--negatives")) {
|
|
117
118
|
for (const name of ["title-slam", "card-scenes", "still-glow", "reset-sweep"]) cases.push({ kind: "negative", name });
|
|
118
|
-
for (const recipe of ["painted-light", "weight-tide", "orbit-loop"]) {
|
|
119
|
+
for (const recipe of ["painted-light", "weight-tide", "orbit-loop", "hero-3d"]) {
|
|
119
120
|
for (const id of Object.keys(readJson(path.join(skill, "recipes", recipe, "expected.json"))?.regressions ?? {})) cases.push({ kind: "regression", recipe, id });
|
|
120
121
|
}
|
|
121
122
|
}
|