Skip to content

chore(release): version packages (dev) - #153

Merged
linyiru merged 1 commit into
mainfrom
changeset-release/main
Jul 31, 2026
Merged

chore(release): version packages (dev)#153
linyiru merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@junejs/core@0.2.0-dev.36

Patch Changes

  • #150 502d895 Thanks @linyiru! - Agent-level surfaces — per-surface behavior gets a home, and its mechanics get teeth (#149).

    How an agent behaves when reached over a given surface is agent behavior, not transport configuration — two agents sharing one channel carry different behavior; the transport carries none. The channels/<source>.md overlay convention conflated the two (and failed its blind-guess test 8/10: it reads as deletable docs). It is replaced by two agent-level pieces:

    instructions.<source>.md at the agent root is the surface's instruction variant: discovered by convention (and inlined by june gen for the edge), applied to turns whose inbound event arrives through that source — the file alone activates it, composing after the base instructions by default. The name is its own documentation: in the measurement round the shape scored 10/10 on the blind-guess test the old convention failed and 80/80 across the full prediction quiz — including zero divergence on how the grammar would generalize to locales (instructions.slack.zh-TW.md). Locale variants themselves are a planned follow-up, not parsed yet: only single-segment sources (instructions.<source>.md) are recognized today, and a variant-shaped filename the grammar doesn't parse warns loudly at discovery/gen instead of sitting silently inert.

    agent.ts surfaces carries the mechanical policy the prose used to beg for: surfaces: { slack: { mode: "replace", denyTools: ["record_assessment"] } }. mode: "replace" makes the variant the turn's ENTIRE system prompt — the runtime drops the base mechanically instead of the overlay pleading "disregard the above". denyTools removes tools from that surface's turns at the same per-turn choke point as requiresPrincipal: unlisted to the model and undispatchable (a hallucinated call fails as an unknown tool) — enforcement, not suggestion, and prompt-injection-proof. Both persist through the suspend checkpoint, so resumed turns keep their policy. Fail-loud edges: a mode whose variant file is missing throws at assembly/build; a source authored in both the new pieces and the legacy map throws (one source of truth); a policy matching no mounted channel warns (the old silent-no-fire orphan, surfaced).

    The prose file stays zero-power — editing it changes what the model is told, never what the system does; all mechanics are typed code. channelInstructions remains as the programmatic escape hatch (now also accepting ChannelPolicy objects), and channels/<name>.md keeps working for one dev-series with a loud deprecation warning at discovery and at june gen, pointing to the new location. Channels themselves stay pure transport; channel-intrinsic format guidance for built-in channel authors is a possible follow-up, tracked separately.

@junejs/server@1.0.0-dev.19

Patch Changes

  • #150 502d895 Thanks @linyiru! - Agent-level surfaces — per-surface behavior gets a home, and its mechanics get teeth (#149).

    How an agent behaves when reached over a given surface is agent behavior, not transport configuration — two agents sharing one channel carry different behavior; the transport carries none. The channels/<source>.md overlay convention conflated the two (and failed its blind-guess test 8/10: it reads as deletable docs). It is replaced by two agent-level pieces:

    instructions.<source>.md at the agent root is the surface's instruction variant: discovered by convention (and inlined by june gen for the edge), applied to turns whose inbound event arrives through that source — the file alone activates it, composing after the base instructions by default. The name is its own documentation: in the measurement round the shape scored 10/10 on the blind-guess test the old convention failed and 80/80 across the full prediction quiz — including zero divergence on how the grammar would generalize to locales (instructions.slack.zh-TW.md). Locale variants themselves are a planned follow-up, not parsed yet: only single-segment sources (instructions.<source>.md) are recognized today, and a variant-shaped filename the grammar doesn't parse warns loudly at discovery/gen instead of sitting silently inert.

    agent.ts surfaces carries the mechanical policy the prose used to beg for: surfaces: { slack: { mode: "replace", denyTools: ["record_assessment"] } }. mode: "replace" makes the variant the turn's ENTIRE system prompt — the runtime drops the base mechanically instead of the overlay pleading "disregard the above". denyTools removes tools from that surface's turns at the same per-turn choke point as requiresPrincipal: unlisted to the model and undispatchable (a hallucinated call fails as an unknown tool) — enforcement, not suggestion, and prompt-injection-proof. Both persist through the suspend checkpoint, so resumed turns keep their policy. Fail-loud edges: a mode whose variant file is missing throws at assembly/build; a source authored in both the new pieces and the legacy map throws (one source of truth); a policy matching no mounted channel warns (the old silent-no-fire orphan, surfaced).

    The prose file stays zero-power — editing it changes what the model is told, never what the system does; all mechanics are typed code. channelInstructions remains as the programmatic escape hatch (now also accepting ChannelPolicy objects), and channels/<name>.md keeps working for one dev-series with a loud deprecation warning at discovery and at june gen, pointing to the new location. Channels themselves stay pure transport; channel-intrinsic format guidance for built-in channel authors is a possible follow-up, tracked separately.

  • Updated dependencies [502d895]:

    • @junejs/core@0.2.0-dev.36

june.build@0.0.5-dev.36

Patch Changes

  • Updated dependencies [502d895]:
    • @junejs/core@0.2.0-dev.36

@june-examples/basic@0.0.5-dev.36

Patch Changes

  • Updated dependencies [502d895]:
    • @junejs/core@0.2.0-dev.36

@june-examples/i18n@0.0.5-dev.37

Patch Changes

  • Updated dependencies [502d895]:
    • @junejs/core@0.2.0-dev.36

@june-examples/juno-crud@0.0.5-dev.37

Patch Changes

  • Updated dependencies [502d895]:
    • @junejs/core@0.2.0-dev.36

@linyiru
linyiru merged commit b2b007d into main Jul 31, 2026
4 checks passed
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