DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract - #24

Closed
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template
Closed

DRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contract#24
Rchari1 wants to merge 1 commit into
mainfrom
rchari/piccolissimo-template

Conversation

@Rchari1

Copy link
Copy Markdown
Member

Stacked on #23 (base rchari/perf-smooth-solve). Do not merge.

Moves amicode's solve stack toward Piccolissimo (Harmoniqs' commercial stack — bundles Piccolo + adds the exact HermitianExponentialIntegrator) for the beta. Lands the verified template as a parallel artifact; the live raw-Piccolo path (solve_template.jl + AGENTS.md) stays the default until the Piccolissimo binary is consumable.

Verified

solve_template_piccolissimo.jl — transmon X gate via Piccolissimo's HermitianExponentialIntegrator, run end-to-end through amico-run against a local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie, julia 1.12.3):

  • F = 0.99995, 60 iters, ~88 s cold
  • full run-dir contract (manifest → 10 plot_pulse frames → FINISHEDresult.toml)

What it took (vs raw Piccolo)

  • Piccolissimo does not reexport Piccolo → load both.
  • PiccoloOptions(timesteps_all_equal=true) is required — free Δt stalls at F≈0.976; pinned → 0.99995.
  • Piccolissimo pins Piccolo 1.10 (template was 1.19) — all needed symbols exist in 1.10.

Integration contract (for Jack's in-flight binary) — see PICCOLISSIMO_INTEGRATION.md

  • The artifact is a pkgimage, loaded via the Julia depot — not--sysimage; amico-run wiring differs.
  • Only x86_64-linux-gnu is published; macOS labs need an aarch64-apple-darwin asset.
  • Pinned to julia 1.12.6 — amicode must match.
  • CairoMakie isn't in Piccolissimo's depsplot_pulse stays ~35 s cold unless baked into the amicode image.
  • PICCOLISSIMO_LICENSE provisioning once the (currently-disabled) license gate re-enables.
  • Source install isn't distributable — Altissimo is an unregistered local-path dep, so the binary is the only delivery path.

Not in this PR (deliberately)

No change to AGENTS.md, the bundled julia project, or amico-run's load path — those flip when the binary lands (checklist in the doc), so the working demo stays intact.

🤖 Generated with Claude Code

@Rchari1

Copy link
Copy Markdown
MemberAuthor

@jack-champagne

@jack-champagne

Copy link
Copy Markdown
Member

Heads up: a macOS Piccolissimo binary is now published on the Piccolissimo binary artifacts (see recent builds), built against julia 1.12.6. That closes the macOS gap your PICCOLISSIMO_INTEGRATION.md flagged — pull the recent build and you can validate the darwin path directly instead of being x86_64-linux only. Match julia 1.12.6 exactly (pkgimage, not sysimage).

@jack-champagnejack-champagne changed the title feat(template): verified Piccolissimo solve template (beta target) + integration contractDRAFT feat(template): verified Piccolissimo solve template (beta target) + integration contractJul 4, 2026
@jack-champagne
jack-champagne changed the base branch from rchari/perf-smooth-solve to mainJuly 28, 2026 14:13
@jack-champagne

Copy link
Copy Markdown
Member

Retargeted from rchari/perf-smooth-solve to main.

The old base is now fully merged into main, so the PR was comparing against a dead branch. Against main the real remaining change is 2 files, +192 — that's what actually needs review here.

(Part of a sweep over the stacked b*/aaron/* chains: #119, #125 and #131 turned out to be entirely in main already and were closed; this one has real work left.)

…integration notes
Amicode beta moves the solve stack onto Piccolissimo (bundles Piccolo + adds the
exact HermitianExponentialIntegrator). This lands the verified template as a
parallel artifact — the live raw-Piccolo path (solve_template.jl + AGENTS.md)
stays the default until the Piccolissimo binary is consumable.
solve_template_piccolissimo.jl: transmon X gate via Piccolissimo's
HermitianExponentialIntegrator. Verified end-to-end through amico-run against a
local Piccolissimo checkout (Piccolo 1.10 + Piccolissimo + CairoMakie):
F = 0.99995, 60 iters, full run-dir contract + plot_pulse frames.
Key findings (vs raw Piccolo):
- Piccolissimo does NOT reexport Piccolo → load both.
- timesteps_all_equal is required (free Δt stalls at F≈0.976).
- Piccolo 1.10 (Piccolissimo's pin) vs 1.19 — all needed symbols exist.
PICCOLISSIMO_INTEGRATION.md records the binary integration contract for the
in-flight Piccolissimo build: it's a pkgimage (not --sysimage); needs a macOS
arm64 artifact + matching Julia; CairoMakie isn't in the image (plot stays cold
unless baked in); and PICCOLISSIMO_LICENSE provisioning once the gate re-enables.
Source install isn't distributable — Altissimo is an unregistered local-path dep,
so the binary is the only delivery path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jack-champagne
jack-champagneforce-pushed the rchari/piccolissimo-template branch from 4b45474 to 4c67fc2CompareJuly 29, 2026 04:08
@Rchari1

Copy link
Copy Markdown
MemberAuthor

Closing — superseded, and the parts that aren't superseded have gone stale.

The template is superseded by #219, which taught the live template (scores/pulse-designer/templates/solve.jl) to run Altissimo via a SOLVER = :altissimo flag, with per-iteration frames, AMICODE_ITER lines, a run.log the cloud poller can parse, and cooperative STOP on the Altissimo hook.

Worth recording why this one couldn't have shipped that: it lives at packages/extension/templates/, which no code references — the loader reads the scores/pulse-designer/templates/ path. It also solves via HermitianExponentialIntegrator (a Piccolissimo integrator) rather than AltissimoOptions (the solver backend), so it's a different axis from the HP tier, and it carries almost no telemetry.

PICCOLISSIMO_INTEGRATION.md's central claim is no longer true. It documents Altissimo as an unregistered local filesystem path dep (path = "/Users/raghavchari/Altissimo.jl") with the prebuilt image as the only delivery vehicle. Piccolissimo main now declares it as a private git dep tracking main:

[sources]
Altissimo = {rev = "main", url = "git@github.com:harmoniqs/Altissimo.jl.git"}

So porting the doc as-is would have preserved a constraint that has since been fixed. The real remaining constraint is narrower: an AMI freezes a resolved Altissimo commit at image-build time, and re-resolving needs credentials for the private repo — which is why a rebake, not a Pkg.update on the box, is the delivery route.

Nothing here is lost that we still need. Reopen if the integration contract wants rewriting against the current dependency shape — that'd be a fresh doc, not this diff.

@Rchari1Rchari1 closed this Jul 29, 2026
Sign up for freeto 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.

2 participants

@Rchari1@jack-champagne