Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.1.15 — 2026-10-04

Rilis pemeliharaan Wave 0.1.15 untuk sinkronisasi aset vendored anti-slop, standardisasi emulasi Playwright QA, dan pembersihan impor mati. Katalog tetap 65 (50 model + 15 manual). Closed intents tetap 25. Tidak ada penambahan atau pensiun skill (`vendor/skill-allowlist.txt` dan `vendor/skill-policy.json` tidak berubah).

- **Sinkronisasi aset anti-slop (v0.1.2)**: Menyinkronkan seluruh aset linter Oxlint vendored di `skills/install-anti-slop/assets/anti-slop` dari upstream `dmmulroy/anti-slop@e8c4880471b23ab7f216fba7b27d173a6ef07d4c`, memperbaiki pemeriksaan jenis variabel terbalik pada `rules/no-widen-then-assert.ts`. Seluruh 23 berkas aset terverifikasi identik 100% dengan blob upstream. Memperbarui catatan di `docs/source-wave.md`.
- **Standardisasi emulasi Playwright QA**: Menstandardisasi doktrin emulasi timezone, locale, dan geolocation dengan konfigurasi JSON pada peluncuran (`.playwright/cli.config.json` via `contextOptions`) sebagai metode lintas-browser utama, dan `run-code` sebagai alternatif runtime spesifik Chromium via CDP. Menyelaraskan dokumentasi pada `skills/playwright-qa/references/workflow.md`, `skills/playwright-qa/SKILL.md`, dan `rules/00-routing.md`.
- **Pembersihan impor mati**: Menghapus impor yang tidak terpakai `repo_root` pada `lib/design_v2/bootstrap.py` dan `tarfile` pada `tests/test_design_bootstrap.py`.
- **Versi Produk**: Bump versi ke `0.1.15` (`VERSION`, `vendor/sources.json`, `vendor/provenance.json`, `vendor/license-audit.json`, `README.md`, `docs/CATALOG-FREEZE.md`).

## 0.1.14 — 2026-10-04

Patch rilis pasca-0.1.13 untuk koreksi pin sumber, penuntasan pensiun fallback Design Bank, dan perbaikan path config Playwright. Katalog tetap 65 (50 model + 15 manual). Closed intents tetap 25. Tidak ada penambahan atau pensiun skill (`vendor/skill-allowlist.txt` dan `vendor/skill-policy.json` tidak berubah).
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ OpenCode 2 overlay: 65 frozen routed skills, thin `AGENTS.md`, `opencode-he`.

Installer and runtime overlay for [OpenCode 2](https://opencode.ai/v2/docs/).

Version **0.1.14**. The 65-skill catalog is strictly frozen.
Version **0.1.15**. The 65-skill catalog is strictly frozen.

## What it is

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.14
0.1.15
3 changes: 2 additions & 1 deletion docs/CATALOG-FREEZE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

This contract defines the immutable boundary and governance for the OpenCodeHighEnd catalog. The 65-skill catalog is strictly frozen.

- **Product version**: 0.1.14
- **Product version**: 0.1.15
- **Catalog**: 65 names. 50 model-invoked under `skills/`. 15 manual under `manual-skills/` + `commands/`.
- **Wave 0.1.15 body-only**: catalog strictly frozen at 65 (50 model + 15 manual). Zero catalog growth. No new exceptions. Upstream sync and hygiene: synchronized vendored Oxlint ruleset assets in `skills/install-anti-slop` from `dmmulroy/anti-slop@e8c4880471b23ab7f216fba7b27d173a6ef07d4c` (v0.1.2) fixing inverted variable kind check in `no-widen-then-assert.ts`; standardized Playwright QA timezone/locale/geolocation emulation doctrine with `.playwright/cli.config.json` context options as primary cross-browser method and `run-code` as Chromium CDP runtime alternative; removed dead imports `repo_root` from `lib/design_v2/bootstrap.py` and `tarfile` from `tests/test_design_bootstrap.py`.
- **Wave 0.1.14 body-only**: catalog strictly frozen at 65 (50 model + 15 manual). Zero catalog growth. No new exceptions. Post-release fixes for 0.1.13: corrected crawl4ai commit pin in `vendor/sources.json` to official `v0.9.4` release (`133e1d92e37885dfccc03ea2e3687d06c98b7ceb`); completed retirement of Design Bank fallback #4 from runtime and tests with fail-closed Drive error propagation; corrected Playwright CLI config path documentation (`.playwright/cli.config.json`) and clarified timezone/locale emulation via `run-code`; aligned reflect invariant enforcement hierarchy wording (5-level OCH adaptation).
- **Wave 0.1.13 body-only**: catalog strictly frozen at 65 (50 model + 15 manual). Zero catalog growth. No new exceptions. Upstream sync across 6 discrete scopes: pins updated for `shadcn@4.21.1`, `@reticlehq/server@3.5.0`, `markitdown-mcp==0.0.1a7` with `markitdown[all]==0.1.8`, `crawl4ai` `/mcp/sse`; refreshed `playwright-qa` with device emulation, media feature toggles, and WebMCP security boundaries, `install-anti-slop` with `update` mode, `scroll-craft` dual-door browser handoffs; doctrines adopted: Emil Kowalski `break-ui` adversarial UI stress testing into `skills/impeccable/reference/break-ui.md`, pstack `/correct` invariant enforcement hierarchy into `manual-skills/reflect/references/correct.md`, `motion-designer` scored review / phone review / motion blur into `business-motion-film`, `architect` agent contributor lens; attribution and governance synchronized; serena GPL-3.0-or-later boundary preserved as external pointer.
- **Wave 0.1.12 body-only**: catalog strictly frozen at 65 (50 model + 15 manual). Zero catalog growth. No new exceptions. Upstream hyperframes refreshed to v0.8.119 (declarative data attributes, CLI render pipeline); awesome-opus5-5-videos added as first-party POINTER_ONLY prompt patterns reference; Matt Pocock cluster migrated to GLOSSARY.md convention with legacy CONTEXT.md fallback; dead game-asset-core references removed; humanizer bumped to v3.1.0 with patterns 25 & 26; diagram-design pinned to 2.6.51; impeccable v4.5.0 deferred.
Expand Down
2 changes: 1 addition & 1 deletion docs/source-wave.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Recorded per Phase 0 contract.
| Source | Upstream Commit / Ref | Nature / Contents | Disposition | Survivor in OCBF | Notes / Rationale |
|---|---|---|:---:|---|---|
| [miqdadbadjuber/anti-slop](https://github.com/miqdadbadjuber/anti-slop) | `91f12ec67e9de6043cfd93b846404986ba73c3f4` (v3.2.20) | UI/copy filter (38 rules R-01–R-38), 3 tiers (Hard Gate, Purpose-Gate, Quality Locks), Delivery Gate checklist, Liveliness dials, during/after usage modes. MIT. | **MERGE** | `skills/impeccable` (taste-guard + direction), `skills/humanizer`, `rules/03-prose-discipline.md` | Filter, not a style guide. Do not vendor as 65th skill (`antislop` or `antislop-ui`). Distinct from Oxlint. |
| [dmmulroy/anti-slop](https://github.com/dmmulroy/anti-slop) | `e8c4880471b23ab7f216fba7b27d173a6ef07d4c` (v0.1.2) | TypeScript/JavaScript Oxlint static linter ruleset. MIT. | **DONE** | `skills/install-anti-slop` | Vendored and pinned at v0.1.2. `update` mode is first-party OCH. `c44ef22` evaluated; asset sync + eslint-stylistic DEFERRED to 0.1.14. |
| [dmmulroy/anti-slop](https://github.com/dmmulroy/anti-slop) | `e8c4880471b23ab7f216fba7b27d173a6ef07d4c` (v0.1.2) | TypeScript/JavaScript Oxlint static linter ruleset. MIT. | **DONE** | `skills/install-anti-slop` | Vendored and pinned at v0.1.2 with full assets synchronized in 0.1.15. `update` mode is first-party OCH. |
| [microsoft/markitdown](https://github.com/microsoft/markitdown) | `b8f79c57ebc0044be41323d89b2a45d3fda8460e` (v0.1.8) | File to Markdown converter (Office/PDF/HTML/CSV/XLSX/PPTX/EPUB/ZIP). MIT. | **PIN_ONLY** | `skills/markitdown` | Pinned to v0.1.8 (commit `b8f79c57`). Skill body unchanged. Enable writes `uvx --from markitdown-mcp==0.0.1a7 --with markitdown[all]==0.1.8 markitdown-mcp`. Output remains data-only. SmartDoc keeps contract/QA/render. MCP remains FOREIGN_ON_DEMAND. |
| [affaan-m/ECC](https://github.com/affaan-m/ECC) | `dd6ee538aee0f548d4a6b520118f875431fd749e` | External agent control plane (68 agents, 292 skills, hooks, learning runtime). | **REJECT** | None (`FOREIGN_ON_DEMAND`) | Do not vendor harness control plane or 292 skills. No installer mutator. Doctor does not fail when absent. Individual warehouse ports remain first-party MIT. |
| [Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill) | `e79ca9ec7e071eb3a3b623c4fb752e853fc3ed58` (`ccbc156` base) | Design taste dials (VARIANCE, MOTION, DENSITY), quality rules, GSAP/Tailwind references. MIT. | **MERGE** | `skills/impeccable/reference/taste/direction.md`, `taste-guard.md` | Dials already integrated into Impeccable surface brief. Fenced after Design Bank or DESIGN.md direction exists. Never a frontend-design twin. |
Expand Down
2 changes: 1 addition & 1 deletion lib/design_v2/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from typing import Any
from urllib.parse import urlencode, urlparse

from ..common import he_dir, home, repo_root, sha256_file, share_dir, write_json
from ..common import he_dir, home, sha256_file, share_dir, write_json
from ..paths import tar_member_ok
from . import FTS_SCHEMA_VERSION, PACKAGE_DIR
from .bank import DesignV2Error, resolve_design_v2_root
Expand Down
2 changes: 1 addition & 1 deletion rules/00-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ The specialist architecture forms a deterministic graph connected by file artifa
- Photoreal stills / ads / identity with no UI surface: `/visual-studio`.
- Motion after Impeccable: `/emil-design-eng`.
- Image/video generation: use OpenCode native image tools if the session exposes them. Otherwise write prompt files and mark DEGRADED. Do not invent `image_gen`.
- Exploratory application UI QA: `/playwright-qa` is the primary adapter (navigation, form inputs, state inspection, snapshot, screenshot, device and viewport emulation: `--device`, `resize`, `set-color-scheme`, `set-reduced-motion`, `set-forced-colors`, `set-contrast`, `set-media`; timezone/locale/geolocation via `run-code`). Never launch for backend/non-UI.
- Exploratory application UI QA: `/playwright-qa` is the primary adapter (navigation, form inputs, state inspection, snapshot, screenshot, device and viewport emulation: `--device`, `resize`, `set-color-scheme`, `set-reduced-motion`, `set-forced-colors`, `set-contrast`, `set-media`; timezone/locale/geolocation via `.playwright/cli.config.json`, or Chromium `run-code`). Never launch for backend/non-UI.
- Explicit multi-account or persistent browser sessions: `/browser-act`. Load the skill before any `browser-act` command. Never `--type chrome-direct`.
- Observed browser cause: `/chrome-devtools-axi` after `opencode-chromium-cdp start` on `http://127.0.0.1:9223`. Never Google Chrome.
- Deterministic browser regression: existing project test suite (Playwright Test, Cypress, etc.) using project scripts/package manager.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ function knownValueEvidence(
if (
declarator === null ||
declarator.parent.type !== "VariableDeclaration" ||
declarator.parent.kind === "const" ||
declarator.parent.kind !== "const" ||
declarator.init === null ||
variable.references.some((reference) => reference.isWrite() && !reference.init) ||
functionBoundary(declarator) !== boundary
Expand Down Expand Up @@ -273,7 +273,7 @@ function widenedBinding(
if (
declarator === null ||
declarator.parent.type !== "VariableDeclaration" ||
declarator.parent.kind === "const" ||
declarator.parent.kind !== "const" ||
declarator.id.type !== "Identifier" ||
declarator.init === null ||
variable.references.some((reference) => reference.isWrite() && !reference.init)
Expand Down
2 changes: 1 addition & 1 deletion skills/playwright-qa/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This skill provides an interactive, token-efficient browser interface for agents
7. **Privacy & Hygiene**: Storage state, cookies, HAR recordings, traces, and screenshots must never be committed to git or printed with sensitive credentials.
8. **No Browser for Backend**: Never start browser sessions when only backend, API, database, or non-UI code changed.
9. **No Data Gathering**: Web and social data gathering is not UI QA; route extraction tasks to `research` (`references/web-data.md`).
10. **Emulation & Responsive QA**: Emulate devices (`open --device`), resize viewports (`resize <w> <h>`), and toggle media features (`set-color-scheme`, `set-reduced-motion`, `set-forced-colors`, `set-contrast`, `set-media`). Timezone, locale, and geolocation require `run-code`.
10. **Emulation & Responsive QA**: Emulate devices (`open --device`), resize viewports (`resize <w> <h>`), and toggle media features (`set-color-scheme`, `set-reduced-motion`, `set-forced-colors`, `set-contrast`, `set-media`). Timezone, locale, and geolocation are configured via `.playwright/cli.config.json` (`contextOptions`), or runtime Chromium CDP via `run-code`.

## Workflow

Expand Down
2 changes: 1 addition & 1 deletion skills/playwright-qa/references/workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Use device presets at launch and session commands to toggle media features.
playwright-cli -s=<task-session> set-media print
playwright-cli -s=<task-session> clear-media
```
- **Timezone / Locale / Geolocation**: Not available as CLI flags. Set programmatically via `run-code` (CLI `--config` accepts JSON files defaulting to `.playwright/cli.config.json`, not TypeScript config; timezone/locale emulation via config is unverified).
- **Timezone / Locale / Geolocation**: Not available as CLI flags. Configure via JSON config file at launch (default `.playwright/cli.config.json` or `--config=<file>` specifying `contextOptions.timezoneId`, `contextOptions.locale`, `contextOptions.geolocation`). Alternatively, use `run-code` for Chromium-specific runtime session overrides via CDP.

7. **Clean up**:
```bash
Expand Down
1 change: 0 additions & 1 deletion tests/test_design_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import os
import shutil
import socket
import tarfile
import urllib.request
import zipfile
from contextlib import redirect_stdout
Expand Down
2 changes: 1 addition & 1 deletion vendor/license-audit.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"product": "OpenCodeHighEnd",
"productVersion": "0.1.14",
"productVersion": "0.1.15",
"note": "Evidence-based. A missing frontmatter license is not a grant. Adapted \u2260 first-party.",
"skills": {
"demo-video": {
Expand Down
2 changes: 1 addition & 1 deletion vendor/provenance.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"product": "OpenCodeHighEnd",
"productVersion": "0.1.14",
"productVersion": "0.1.15",
"firstPartyLicense": "MIT",
"components": [
{
Expand Down
2 changes: 1 addition & 1 deletion vendor/sources.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"product": "OpenCodeHighEnd",
"productVersion": "0.1.14",
"productVersion": "0.1.15",
"sources": {
"codebase-memory": {
"repository": "https://github.com/DeusData/codebase-memory-mcp",
Expand Down
Loading