You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(amp): add deterministic native workflows
Generate a complete Amp target with explicit palette commands, read-only
specialists, bounded parallel analysis, and lifecycle guards. Keep the source
target byte-identical to the validated standalone distribution and cover the
runtime policies with model-free tests and smoke checks.
Co-authored-by: Oliver Kriska <oliver@ideax.sk>
* fix(amp): align hosted profiles and local resolution
Amp-Thread-ID: https://ampcode.com/threads/T-019ff034-17cd-735a-900c-f8ac5252b8f4
* fix(amp): fit hosted plugin transport
Amp-Thread-ID: https://ampcode.com/threads/T-019ff034-17cd-735a-900c-f8ac5252b8f4
* fix(amp): generate both Amp plugins from one target build
main added a second, hand-written Amp plugin (phx-watch-pr.ts, copied
verbatim and byte-checked against its canonical source) while this branch
added a first one (elixir-phoenix.ts, rendered from Python so it can embed
projected agent bodies and skill metadata). Both landed on the same
build_target(), the same validate_plugin(), the same OUTPUT_DIR, and the
same snapshot digest.
Neither generation style can replace the other: the workflow plugin has to
be rendered because it inlines canonical content, and the watch plugin has
to be copied because it is real TypeScript with no projected data. So the
target now emits both.
- validate_plugin() keeps main's signature and meaning (watch plugin,
byte-identity against source). The rendered one becomes
validate_workflow_plugin(), and PLUGIN_RELATIVE_PATH becomes
WORKFLOW_PLUGIN_RELATIVE_PATH, so main's committed API is untouched and
the rename stays confined to the incoming branch.
- build_target() discovers specialists, copies the watch plugin, renders
the workflow plugin, and returns skills + commands + plugins.
- The runtime smoke test now execs both plugins: session.start for
phx-watch-pr, agent.start for elixir-phoenix.
- Docs and the runtime-support matrix describe two plugins rather than
one, keeping both sides' capability rows.
The transport budget needed the whole branch to land: after commit 1 the
rendered plugin hit 98,745 bytes against its own 96,000 assert, because
phx-watch-pr joined PORTABLE_WORKFLOWS and the shared specialist contract
was still inlined five times. Commit 3's compaction brings it to 95,191
with 809 bytes of headroom.
---------
Co-authored-by: Amp <amp@ampcode.com>
0 commit comments