← Commit history

Publish 1.1.1

Drew Owens ·3ec4720b54 ·3mo ago ·parent ff83ea4
3 files changed +32−6
SKILL.md+30−4
@@ -50,6 +50,8 @@ step2glb convert <name>.step --board <name>.kicad_pcb --pin medium \ ```  Requires `step2glb` >= 0.11.0 (`adom-wiki pkg install adom/adom-step2glb`).+(No `adom-wiki` on the container? Bootstrap it first:+`curl -fsSL https://wiki.adom.inc/download/adom/adom-wiki-cli/1.0.2/adom-wiki-cli-v1.0.2 -o ~/.local/bin/adom-wiki && chmod +x ~/.local/bin/adom-wiki` — then keep using `adom-wiki`, not legacy tools.) It posts multipart to `/convert?molecule=true&pin=...`, polls the job, downloads the GLB **and** `<slug>_footprint.json` + `<slug>_symbol.json` beside it, prints the full stats block, and emits gate hints on failures.@@ -75,7 +77,7 @@ Artifacts: `GET /jobs/{id}/result` → `<name>.glb`,  ``` <slug>/-  package.json          # slug, version, type: "component", description ≥20 chars, tags+  package.json          # see REQUIRED fields below   <slug>.glb            # OCCT artifact — MUST be named exactly <slug>.glb (see below)   <name>.kicad_pcb|.brd # board source   <name>.kicad_sch|.sch # schematic source@@ -85,6 +87,23 @@ Artifacts: `GET /jobs/{id}/result` → `<name>.glb`,   [extras: silk PNGs, .f3d, .usdz, gerbers, bom, cpl] ``` +`package.json` REQUIRED fields (publish 400s or silently under-registers+without them):++```json+{+  "slug": "<slug>", "version": "1.0.0", "type": "component",+  "description": "<≥20 chars>", "tags": ["molecule", "..."],+  "component": { "mpn": "<name>", "manufacturer": "", "category": "other" },+  "hero": { "headline": "...", "subhead": "...", "screenshot": "screenshots/hero.png" }+}+```++- The **`component` block is what creates the page's component_metadata row —+  without it `metadata.model_3d_path` is never set and imports fail** with+  "no published GLB" even though the file is there.+- The **`hero` block + `screenshots/hero.png` are hard-required** at publish.+ Do NOT include a `page.json` — the server generates it, and a hand-made one can blank the page brief or override org/visibility on reindex. @@ -105,12 +124,19 @@ adom-wiki page visibility <owner>/<slug> --preset open   # or private  Verify before declaring done: - `adom-wiki api /api/v1/pages/<slug>` → `metadata.model_3d_path` is set-- **the GLB at `model_3d_path` is YOUR anchored one** — download it and check-  for the anchor node (a plain publish-time conversion has none):+- **the GLB at `model_3d_path` is byte-identical to YOUR gated conversion+  output** — this is the anchoring proof. (Do NOT inspect the GLB for a+  `molecule_anchor` node: the optimizer flattens it away by design — the+  anchoring survives as baked geometry, not as a node. A gate on that node+  false-fails every properly converted molecule.)   ```bash   curl -fsSL "https://wiki.adom.inc/blob/component/<slug>/<slug>.glb" -o /tmp/check.glb-  python3 -c "import struct,json,sys; d=open('/tmp/check.glb','rb').read(); l=struct.unpack('<I',d[12:16])[0]; j=json.loads(d[20:20+l]); ok=any(n.get('name')=='molecule_anchor' for n in j.get('nodes',[])); print('anchored GLB' if ok else 'PLAIN GLB — STOP: re-push your OCCT GLB as <slug>.glb'); sys.exit(0 if ok else 1)"+  sha256sum /tmp/check.glb <slug>.glb   # MUST match — if not, the page is+  # serving a different GLB (e.g. the wiki's plain auto-conversion): re-push+  # your OCCT GLB as <slug>.glb and re-verify.   ```+  Your conversion's stats block (`molecule_anchored: true`, no warnings) plus+  this checksum equals a verified anchored GLB on the page. - the page's Files tab shows the full bundle (registry and git layers are   separate — publish alone does not populate Files) 
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "molecule-publish",-  "version": "1.1.0",+  "version": "1.1.1",   "type": "skill",   "description": "Publish a molecule source bundle (STEP + schematic + board + metadata) to the Adom wiki: OCCT molecule-mode conversion with stats gates, component packaging, adom-wiki publish. EDA-agnostic middle of the pipeline; companion to adom-molecule-import.",   "tags": [
page.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "molecule-publish",-  "version": "1.1.0",+  "version": "1.1.1",   "type": "skill",   "description": "Publish a molecule source bundle (STEP + schematic + board + metadata) to the Adom wiki: OCCT molecule-mode conversion with stats gates, component packaging, adom-wiki publish. EDA-agnostic middle of the pipeline; companion to adom-molecule-import.",   "tags": [