Skip to content

ci: tag-triggered VSIX release (v* tags) - #93

Merged
jack-champagne merged 1 commit into
aaron/problem-workspacesfrom
jack/release-workflow
Jul 8, 2026
Merged

ci: tag-triggered VSIX release (v* tags)#93
jack-champagne merged 1 commit into
aaron/problem-workspacesfrom
jack/release-workflow

Conversation

@jack-champagne

Copy link
Copy Markdown
Member

Folded into #90's branch per Jack. Push a v* tag → full package chain (pnpm package: amico-run + extension + exemplars + fetch:opencode), hard-fail channel-gate check on the vendored binary (same check the fork's new amicode-release workflow runs — harmoniqs/opencode#4), AMICODE_REQUIRE_VSIX=1 packaging gate, then a GitHub release with amicode.vsix.

Note: the tag trigger only fires for tags whose commit contains this workflow file — live on main once #90 merges.

A lock bump to v1.17.3-amicode.4 (built by the fork workflow) will be added to this PR once harmoniqs/opencode#4 merges and the tag is pushed.

Full package chain + channel-gate check on the vendored binary +
packaging-manifest gate, then a GitHub release with amicode.vsix.
@jack-champagne
jack-champagne merged commit e2d13cb into aaron/problem-workspaces Jul 8, 2026
5 checks passed
aarontrowbridge added a commit that referenced this pull request Jul 28, 2026
…bricating roles

The System card re-derives the Hamiltonian in the renderer from (role, levels,
platform) with hardcoded tables, so it is only ever right for platforms someone
hardcoded — and silently wrong for the rest. It showed the transmon ladder, and
asked for an anharmonicity, on an exchange-only spin qubit. Two changes here; the
renderer half is harmoniqs/opencode#93.

1. `amicode_set_model` gains `hamiltonian` — the model term by term
   ({kind: drift|coupling|drive, latex, acts_on?, label?}) plus `hamiltonian_notes`
   for frame/unit/basis conventions. The agent already understands the model well
   enough to author the Julia solve; this is where that understanding gets written
   down instead of evaporating into the script. It knows what an exchange-only spin
   qubit is — the renderer's table never will. Full path: validation (closed kind
   set, non-empty latex, acts_on ids must exist, brace balance since the plugin
   can't parse LaTeX but the card renders it straight into KaTeX), TOML round-trip,
   wholesale patch-replace, hashing, normalizeSystem read-through.

2. `role` gains `other`, and `platformDefaultRole` stops inventing one. Only
   platforms we model get a role from the string (rydberg→atom, transmon→qubit,
   bosonic→mode); everything else is `other` until MODEL asks. The old blanket
   "unknown → qubit" was also wrong for photonic and bosonic, which are modes.

AGENTS.md tells the interview to record the Hamiltonian — mandatory off-template,
worth confirming even on template — and to use `other` over a near-miss.

Note for the reviewer: this lands the recording side. The card only renders it once
the fork release carrying #93 is pinned via `pnpm opencode:pin`, so there
is no lock bump here.

Verified: 782 tests pass (78 files), tsc clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
jack-champagne added a commit that referenced this pull request Jul 29, 2026
Carries the fork side of the Hamiltonian work:

  #93  system card renders the recorded Hamiltonian, and stops inventing one
  #98  prompt-agnostic cassette matching for the transport tests

The renderer half is what makes amicode#220 (the recording half) do anything —
until this pin lands, a recorded Hamiltonian is stored and never displayed.

Built by the amicode-release workflow from the tag @ 9bd4649c86, base opencode
1.17.3, OPENCODE_CHANNEL=dev with the UI gate verified ON in both binaries.

  darwin-arm64  fe38d3e2956b5e84af5b2f8513f9c28d473484e84ab714d367f920e76b6fade2
  linux-x64     0bdf69998ce5dc8c26a79a071ff04f8b82a6329700f177926501a16e3c4885d3

Note darwin-arm64 is cross-compiled from Linux and not natively smoke-tested;
only linux-x64 gets a smoke test in the release workflow.
jack-champagne pushed a commit that referenced this pull request Jul 29, 2026
…bricating roles (#220)

The System card re-derives the Hamiltonian in the renderer from (role, levels,
platform) with hardcoded tables, so it is only ever right for platforms someone
hardcoded — and silently wrong for the rest. It showed the transmon ladder, and
asked for an anharmonicity, on an exchange-only spin qubit. Two changes here; the
renderer half is harmoniqs/opencode#93.

1. `amicode_set_model` gains `hamiltonian` — the model term by term
   ({kind: drift|coupling|drive, latex, acts_on?, label?}) plus `hamiltonian_notes`
   for frame/unit/basis conventions. The agent already understands the model well
   enough to author the Julia solve; this is where that understanding gets written
   down instead of evaporating into the script. It knows what an exchange-only spin
   qubit is — the renderer's table never will. Full path: validation (closed kind
   set, non-empty latex, acts_on ids must exist, brace balance since the plugin
   can't parse LaTeX but the card renders it straight into KaTeX), TOML round-trip,
   wholesale patch-replace, hashing, normalizeSystem read-through.

2. `role` gains `other`, and `platformDefaultRole` stops inventing one. Only
   platforms we model get a role from the string (rydberg→atom, transmon→qubit,
   bosonic→mode); everything else is `other` until MODEL asks. The old blanket
   "unknown → qubit" was also wrong for photonic and bosonic, which are modes.

AGENTS.md tells the interview to record the Hamiltonian — mandatory off-template,
worth confirming even on template — and to use `other` over a near-miss.

Note for the reviewer: this lands the recording side. The card only renders it once
the fork release carrying #93 is pinned via `pnpm opencode:pin`, so there
is no lock bump here.

Verified: 782 tests pass (78 files), tsc clean.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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