-
Notifications
You must be signed in to change notification settings - Fork 1
docs(readme): opencode go + GLM-5.3 / Kimi K3 recommendation; stale-fact fixes (38 skills, post-M4 terminal) #492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,7 +11,7 @@ | |
|
|
||
| Your vaults, your fleet, your devices, your pulses — composed by conversation. | ||
|
|
||
| <sub>A VS Code extension · built on [Piccolo.jl](https://github.com/harmoniqs/Piccolo.jl) · open [opencode](https://github.com/anomalyco/opencode) chat harness · telaio research harness by subscription (arriving) · model-agnostic — Kimi K3, Muse Spark, open models</sub> | ||
| <sub>A VS Code extension · built on [Piccolo.jl](https://github.com/harmoniqs/Piccolo.jl) · open [opencode](https://github.com/anomalyco/opencode) chat harness · telaio research harness by subscription (arriving) · model-agnostic — GLM-5.3 or Kimi K3 recommended</sub> | ||
|
|
||
| </div> | ||
|
|
||
|
|
@@ -21,7 +21,7 @@ Amicode is an **open autonomous research studio** that lives in your editor — | |
|
|
||
| Describe what you want in plain language — a gate, a state preparation, a calibration sweep — and Amicode designs the pulse, runs the solve, and shows you the result. Every run is captured, every pulse versioned for warm-start, and every session distilled into durable knowledge. The loop gets smarter as you use it. | ||
|
|
||
| Leveraging **Kimi K3** (Moonshot AI), **Muse Spark** (Meta), and other open models — on the open [opencode](https://github.com/anomalyco/opencode) ecosystem (vendored from `anomalyco/opencode`). Model-agnostic by design: the loop, not the model, is the product. | ||
| **Recommended setup:** an [opencode](https://github.com/anomalyco/opencode) **go** subscription — add extra usage if you're running long campaigns, because autonomous research sessions are token-hungry — running **GLM-5.3** or **Kimi K3** (Moonshot AI), the two models we tune the loop against. Model-agnostic by design: bring your own provider and key and the studio works the same — the loop, not the model, is the product. | ||
|
|
||
| We start with **quantum control** because it is the hardest physical system to prove the loop on. If the studio works here — arbitrary Hamiltonians, hard constraints, **hardware in the loop via Strumento.jl / QICK** — it generalizes to any physical system you can model. Bring your own Hamiltonian; the loop is the same. That's **physical intelligence**: not one device or platform, but a composable way to do experimental science. Plenty will sell you a closed “superintelligence” that never touches the hardware. We ship open, down to the RFSoC. | ||
|
|
||
|
|
@@ -70,7 +70,7 @@ Amicode reads your **vaults** — the stack you mount under `~/.amico/vaults/` ( | |
|
|
||
| Your machines form one logical studio. Vault mounts sync via `armonia-sync-once` (launchd, every 15 min); the chat database stays canonical via an SSH mesh; WIP follows you between hosts with `leave`/`arrive`. No second writer ever touches the same SQLite file, no live `.git` is file-synced — the invariants are enforced, not assumed. Check it with `/fleet`; the skill is the playbook. Solo still works fully offline — the fleet simply means you never have to choose which machine holds the truth. | ||
|
|
||
| When the canonical is unreachable, `Amicode: Fleet — Enter Local Fallback` lets you keep working offline (local sessions, `Fleet: LOCAL FALLBACK` in the status bar) and `Rejoin` merges back when the tunnel is back. Drift is surfaced by `Amicode: Healthcheck` (`Fleet guard / settings / tunnel`) and one-command `pnpm sync` (`--check` CI twin, `--fix` also `git pull` + `fetch:opencode` + `Fleet — Repair`) — `Amicode: Repo Sync` runs it, and `Amicode: Open Amicode Terminal` opens a shell whose `opencode` is the vendored, amicode-aware binary (same `OPENCODE_CONFIG_CONTENT` as the chat) so `pnpm sync` there diagnoses the same panel you see. | ||
| When the canonical is unreachable, `Amicode: Fleet — Enter Local Fallback` lets you keep working offline (local sessions, `Fleet: LOCAL FALLBACK` in the status bar) and `Rejoin` merges back when the tunnel is back. Drift is surfaced by `Amicode: Healthcheck` (`Fleet guard / settings / tunnel`) and one-command `pnpm sync` (`--check` CI twin, `--fix` also `git pull` + `fetch:opencode` + `Fleet — Repair`) — `Amicode: Repo Sync` runs it, and `Amicode: Open Amicode Terminal` opens a shell whose `opencode` is the amicode-aware binary — the managed, auto-updated canonical build (same `OPENCODE_CONFIG_CONTENT` as the chat; `opencode-amicode` reaches the vendored fleet build) — so `pnpm sync` there diagnoses the same panel you see. | ||
|
|
||
| ### Open system management — from pulse to device | ||
|
|
||
|
|
@@ -100,16 +100,16 @@ catalog shared catalog shared catalog, warm-starts | |
|
|
||
| ## Skills are the product | ||
|
|
||
| Skills are not configuration — they are the capability surface. The **37 public skills** in `packages/extension/skills/` ship in the vsix, versioned with the product. Additional skills load from your own vault mounts and from co-located Julia packages behind entitlements. | ||
| Skills are not configuration — they are the capability surface. The **38 public skills** in `packages/extension/skills/` ship in the vsix, versioned with the product. Additional skills load from your own vault mounts and from co-located Julia packages behind entitlements. | ||
|
|
||
| | Surface | What it covers | | ||
| |---|---| | ||
| | Physics | `transmon`, `fluxonium`, `atoms` (Rydberg), `bosonic`, `ions` — Hamiltonians, drives, construction patterns | | ||
| | Lab + catalog + vault | `amico-lab`, `amico-catalog`, `amico-vault`, `amico-strategy`, `amico-schema-check` | | ||
| | Analysis + synthesis | `analyze`, `structural-analysis`, `hypothesis-review`, `dream-reflect` | | ||
| | System | `fleet`, `setup`, `solve`, `simulate`, `warm-start`, `constraints`, `objectives` | | ||
| | Lab + catalog + vault | `amico-lab`, `amico-catalog`, `amico-vault`, `amico-strategy`, `amico-schema-check`, `amico-slack` | | ||
| | Analysis + synthesis | `analyze`, `structural-analysis`, `hypothesis-review`, `dream-reflect`, `autoresearch` | | ||
| | System | `setup`, `solve`, `simulate`, `warm-start`, `constraints`, `objectives`, `problem-types` | | ||
| | Delivery | `demo`, `pasqal`, `plot`, `compose`, `multistart` | | ||
| | Engineering | `debugging`, `tdd`, `verification`, `brainstorming`, `deliberate`, `grill-me`, `report-a-bug` | | ||
| | Engineering | `debugging`, `tdd`, `verification`, `brainstorming`, `deliberate`, `grill-me`, `grill-with-docs`, `improve-codebase-architecture`, `teach`, `report-a-bug` | | ||
|
Comment on lines
+103
to
+112
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
python - <<'PY'
from pathlib import Path
import re
readme = Path("README.md").read_text()
table = readme.split("| Surface | What it covers |", 1)[1].split("\n\n", 1)[0]
listed = set(re.findall(r"`([^`]+)`", table))
public = set()
surfaces = {}
for path in Path("packages/extension/skills").rglob("SKILL.md"):
text = path.read_text()
match = re.search(r"(?m)^surface:\s*([A-Za-z_-]+)\s*$", text)
name = path.parent.name
surface = match.group(1) if match else "<missing>"
surfaces[name] = surface
if surface == "public":
public.add(name)
print("README count:", len(listed))
print("Public manifest count:", len(public))
print("Missing from README:", sorted(public - listed))
print("Not in public manifests:", sorted(listed - public))
print("Non-public or missing surface:", {
name: surfaces.get(name)
for name in sorted(listed)
if name not in public
})
print("Fleet listed in README table:", "fleet" in listed)
PY
rg -n -C 2 '/fleet|the skill is the playbook' README.mdRepository: harmoniqs/amicode Length of output: 1627 🏁 Script executed: #!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
import re
for path in Path("packages/extension/skills").rglob("SKILL.md"):
if path.parent.name == "fleet":
text = path.read_text()
match = re.search(r"(?m)^surface:\s*([A-Za-z_-]+)\s*$", text)
print("Fleet manifest:", path)
print("Fleet surface:", match.group(1) if match else "<missing>")
PY
rg -n -C 3 '(^|[`/ ])fleet|surface:\s*(public|internal)' packages/extension/skills README.mdRepository: harmoniqs/amicode Length of output: 35231 Correct the The table matches all 38 public manifests, but no public 🤖 Prompt for AI Agents |
||
|
|
||
| The extension stages the union of the public bundle and your vault mounts at startup; mount presence is the eligibility proof. | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 50374
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 50374
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 3469
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 6142
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 41599
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 6804
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 50374
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 566
🏁 Script executed:
Repository: harmoniqs/amicode
Length of output: 40384
Correct the terminal contract in
README.mdline 73.opencodeuses the managed canonical binary only after bootstrap. Before then, it resolves to the vendored binary.pnpm syncrunsscripts/repo-sync.sh; it does not invokeopencodeor inspect panel state.OPENCODE_CONFIG_CONTENT. Qualify the “same config as the chat” claim.🤖 Prompt for AI Agents