77 Commits
Author SHA1 Message Date
weichen 6fe40b0342 Merge pull request 'Add bounded evidence to work checkpoint candidates' (#31) from feature/fast-slow-u2-u3 into main
governance / governance (push) Successful in 16s
2026-10-19 09:20:24 +00:00
weichen 5cae3a6e30 Merge pull request 'Adopt the shared governance kit (development-governance-v2)' (#35) from feature/governance-adoption into main
governance / governance (push) Successful in 17s
2026-10-17 08:31:36 +00:00
weichen 35560aa5a3 Merge pull request 'Keep complete background results and optional decisions on work cards' (#34) from feature/workbench-flow-completion into main 2026-10-15 08:18:43 +00:00
weichen 1a5ef6b75c Anchor work decisions to a reserved follow-up run identity
Why: Reconcile interrupted dispatch without spending another model request.

Evidence: Core package tests pass locally; integration exercises acceptance and recovery.

Impact: Add one optional persisted run identifier.

Refs: feature/workbench-flow-completion
2026-10-15 06:53:28 +00:00
weichen fcfe8149bd Verify durable work results and legacy card compatibility
Why: Retain full results and exact answers across persistence and reload.

Evidence: go test ./... passed locally, including full-tail and legacy JSON coverage.

Impact: Add contract roundtrip tests and a guarded dispatching state.

Refs: feature/workbench-flow-completion
2026-10-15 06:49:33 +00:00
weichen 00f182611c Define durable nonblocking work card snapshots
Why: Keep background results and optional decisions outside the foreground conversation lock.

Evidence: Core package tests and combination checks are recorded in the Dev task.

Impact: Add an optional backward-compatible work card payload without a database migration.

Refs: feature/workbench-flow-completion
2026-10-15 06:46:23 +00:00
weichen b4743949e5 Keep U3 TypeScript evidence helpers local
Why: Generated mirrors gained unused named exports and tripped the frontend knip ratchet.

Evidence: Exact Dev combination failed at 53 unused exports over 52 baseline; Core Go tests passed after narrowing the TS export surface.

Impact: Preserve WorkFindingCandidate.evidence shape while avoiding unused exported helper names.

Refs: Dev task feature/fast-slow-u2-u3-plan; failed combo receipt 275bebe2
2026-10-13 16:48:01 +00:00
weichen c722c16626 Validate optional evidence in work checkpoint candidates
Why: U3 needs bounded, source-indexed premises before the host can judge numeric and membership claims.

Evidence: TestWorkCheckpointEvidenceModesAndBounds failed on missing types, then go test ./... -count=1 and git diff --check passed.

Impact: Extend only the candidate wire contract; persisted task snapshots and display kinds stay unchanged.

Refs: Dev task feature/fast-slow-u2-u3-plan; r0.3 evidence implementation plan Task 1
2026-10-13 16:03:33 +00:00
weichen c55ebbcb96 Merge remote-tracking branch 'origin/main' into feature/fast-slow-u2-u3 2026-10-13 10:19:06 +00:00
weichen 5773e74086 Merge pull request 'Add managed scope to authoritative SettingDesc TS mirror' (#32) from fix/settingdesc-managed-scope into main 2026-10-13 06:54:12 +00:00
weichen d6f62af0ed Add managed scope to authoritative SettingDesc TS mirror
Why: Dev 组合构建经 make contracts 从 Core ts/types.ts 重新生成 frontend/ui 的 contracts.ts——受管 scope 字段此前只改了 frontend 镜像,构建时被权威源覆盖丢失(TS2339)。
Evidence: go test ./... 全绿;生成链路验证随 Dev 组合 CI。
Impact: 权威 TS 类型加可选字段;Go 契约(SettingDesc.Scope)此前已随 Core #30 合入,两侧对齐。
2026-10-13 06:53:42 +00:00
weichen beafd7537a Merge scoped settings contracts from current main
Why: Preserve upstream settings authority and current component admission.

Evidence: Exact authoritative main object fetched before merge; composition replay follows.

Impact: Retain Task contracts alongside scoped settings.

Refs: Agent-System-Dev U2/U3 delivery
2026-10-13 05:28:02 +00:00
weichen 0f94e4b062 Merge pull request 'Add system-managed setting scope contract to SettingDesc' (#30) from feature/rdm-increment-settings-duties into main 2026-10-13 04:19:40 +00:00
weichen aced665ba6 Merge origin/main into feature/rdm-increment-settings-duties 2026-10-13 04:19:24 +00:00
weichen 9150e6f90b Add system-managed setting scope contract to SettingDesc
Why: P2 受管设置机制需要 schema 声明写入归属——system 受管项仅管理员可写,user/project 层拒绝写入且生效链忽略存量覆盖。
Evidence: go test ./... 全绿(ManagedPaths/Touches/Strip 含祖先标量覆盖与整棵子树剥离用例)。
Impact: 新增 SettingScope 常量、SettingDesc.Scope 字段与三个纯函数;空 Scope 保持既有行为,向后兼容。
Refs: modules/documents/docs/proposals/2026-10-13-rdm-settings-members-duties-perms-increment.md P2
2026-10-13 03:40:25 +00:00
weichen 6e385743e4 Retain coverage limits in legacy task summaries
Why: Older clients must see the same coverage limits as structured task cards.

Evidence: Core suite and composition checks follow this projection update.

Impact: Projects optional limitations into existing list nodes.

Refs: fast-slow-u2-u3 Task 6
2026-10-13 02:08:00 +00:00
weichen dbe1f544d7 Keep material coverage limits separate from outcome claims
Why: A completed run can still lack readable or fully provided source material.

Evidence: Composition validation follows the backend and UI consumers.

Impact: Adds optional host-owned limitations without changing candidate authority.

Refs: fast-slow-u2-u3 Tasks 4 through 6
2026-10-13 01:59:40 +00:00
weichen 124309b985 Retain trusted input bindings for task result reuse
Why: Completed tasks require current source authorization and content validation.

Evidence: Optional fields preserve existing contracts; composition verification follows.

Impact: Adds host-owned input source references with no new model authority.

Refs: fast-slow-u2-u3 Tasks 2 and 4
2026-10-13 01:35:53 +00:00
weichen 06f2723161 Add persistent work snapshots and checkpoint contracts
Why: preserve scoped work findings and truthful activity across reloads.

Evidence: task JSON loss and validation/state regressions RED to GREEN; complete Core suite.

Impact: optional card/document wire fields and bounded candidate validation; old Body remains supported.

Refs: fast-slow U2/U3 Task1, R03 R05 R09 R17
2026-10-13 01:04:56 +00:00
weichen 8e4f4e0382 Merge pull request 'Add U1 task summary body contract helpers' (#29) from feature/fast-slow-display-u1 into main
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Core/pulls/29
2026-10-12 12:16:33 +00:00
weichenandCursor ba289e7b17 Add U1 task summary body contract helpers
Why: Freeze L1 skeleton KV keys and honest no-findings placeholder
so Backend can stop stuffing raw task text into progress cards.
Evidence: go test ./... -count=1
Impact: New TaskSummaryView helpers; findings[] still deferred to U2/U3.
Refs: fast-slow-channel-display-u1-plan W1

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 07:41:05 +00:00
weichen 89f3906c39 Merge pull request 'Add surface.updated to the StreamEventType union in the TS authority' (#28) from feature/generative-ui-u4-eventtype into main 2026-10-11 11:37:16 +00:00
weichen bbebd153f4 Merge remote-tracking branch 'origin/main' into feature/generative-ui-u4-eventtype 2026-10-11 11:37:11 +00:00
weichen a563d31b1e Add surface.updated to the StreamEventType union in the TS authority
Why: U4 frontend store switches on the event type; the TS union mirrors
the Go EvSurfaceUpdated constant (Core #25) and must include it or the
frontend typecheck rejects the case.

Evidence: go test unchanged (TS-only); frontend tsc in the Dev
workspace after mirror sync.

Impact: Type-only additive.

Refs: Core PR #25; Dev task feature/generative-ui-u4
2026-10-11 11:36:33 +00:00
weichen 39632c2e7a Merge pull request 'Add the Surface snapshot types to the TS contract authority' (#27) from feature/generative-ui-u4-ts into main 2026-10-11 11:32:55 +00:00
weichen 37b96fd94f Add the Surface snapshot types to the TS contract authority
Why: U4 needs the frontend to render saved surfaces; the Go contract
(Core #25) gains its TypeScript mirror in the single authority so make
contracts regenerates the frontend and UI copies.

Evidence: Mirror regeneration and combined make test in the Dev
workspace after re-pinning.

Impact: Type-only additive change.

Refs: Core PR #25; Dev task feature/generative-ui-u4
2026-10-11 11:32:43 +00:00
weichen 7a98a7e7fe Merge pull request 'Add the optional node id/source fields to the TS contract authority' (#26) from feature/generative-ui-u2-ts-nodeids into main 2026-10-11 08:44:13 +00:00
weichen 360a8a8946 Add the optional node id/source fields to the TS contract authority
Why: PR #25 added the fields to the Go UINode; ts/types.ts is the
single authority that make contracts mirrors into the frontend and UI
repos, so the fields must originate here or the sync reverts manual
mirror edits (CI build caught exactly that).

Evidence: Regenerated mirrors and combined make test run in the Dev
workspace after re-pinning.

Impact: Type-only additive change.

Refs: Core PR #25; Dev task feature/generative-ui-u2
2026-10-11 08:44:00 +00:00
weichen 452daf3ffa Merge pull request 'Add the Surface contract types, node ids, and spec validation' (#25) from feature/generative-ui-u2-surface into main 2026-10-11 08:15:26 +00:00
weichen 626f8e1062 Add the Surface contract types, node ids, and spec validation
Why: The Generative UI proposal U2 needs a versioned, host-validated
envelope for agent-authored pages before any backend surface exists:
identity/compat/version envelopes, stable per-node ids with source
annotations, catalog-driven spec validation, and the surface.updated
projection event.

Evidence: go vet + go test in this repo (table tests cover a realistic
valid spec from the U1 trial shape, violations, limits, and old-payload
backward compatibility).

Impact: Additive only - UINode gains optional id/source (omitempty),
old card/form paths unaffected; no existing symbol changes.

Refs: Documents proposal 2026-10-10-generative-ui-plugin.md (r2, U2/U1
sections); Dev task feature/generative-ui-u2
2026-10-11 08:15:10 +00:00
weichen a253a40b8e Merge pull request 'Add the usage split fields to the TypeScript contract authority (N3 WP6)' (#24) from feature/n3-usage-fields-ts into main
Add the usage split fields to the TypeScript contract authority (N3 WP6)
2026-10-07 17:41:26 +00:00
weichen b8913dca6a Add the usage split fields to the TypeScript contract authority (N3 WP6)
Why: frontend and ui contracts.ts are generated from this file by
make contracts; editing the generated copies directly gets reverted by
the next codegen run (the Dev CI build step proves it regenerates).
Evidence: GOWORK=off go test green; the shape matches the Go Usage
fields added earlier.
Impact: additive to the contract mirror.
Refs: Agent-System-Core#2, Agent-System-Frontend#48
2026-10-07 17:41:21 +00:00
weichen 1b7e2c0f47 Merge pull request 'Add last-request and cache fields to Usage (N3 WP6)' (#23) from feature/n3-usage-fields into main
Add last-request and cache fields to Usage (N3 WP6)
2026-10-07 17:04:22 +00:00
weichen 8a3ff92518 Add last-request and cache fields to Usage (N3 WP6)
Why: the loop now emits Last* and cache token usage; the product run
record needs the same fields for display and accounting (additive JSON,
old records deserialize as zero values).
Evidence: GOWORK=off go build + go test green.
Impact: additive only.
Refs: Agent-Native#35, N3 plan WP6
2026-10-07 16:34:27 +00:00
weichen f4798ac852 Merge pull request 'Document executable Core verification commands' (#22) from feature/governance-docs into main 2026-10-06 03:09:54 +00:00
weichen cf2615def6 Document executable Core verification commands
Why: project facts pointed to a nonexistent Makefile and retained obsolete skeleton status.

Evidence: SELF go test ./... and git diff --check completed in this component worktree.

Impact: documentation only; does not advance the Dev Core gitlink or change public contracts.

Refs: Agent-System-Dev feature/governance-reliability audit remediation
2026-10-05 12:29:42 +00:00
weichen b12f9e29e6 Extend messages and context observation for variants
Merge pull request 'Extend messages and context observation for variants' (#21) from feature/sillytavern-review into main
2026-10-04 19:44:55 +00:00
weichen 4eae71864c Merge remote-tracking branch 'origin/main' into feature/sillytavern-review 2026-10-04 19:42:53 +00:00
weichenandCursor 0b5c7747a3 Keep the context section type inside the contract file
Why: A separately exported ContextSection is unused inside the UI package and pushes the knip ratchet over its baseline.
Evidence: UI knip reported 56 unused exports against baseline 55. The section shape stays on ContextObservation.sections.
Impact: Generated frontend and UI contracts drop the extra export. JSON field names are unchanged.
Refs: .task/feature-sillytavern-review.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-04 18:36:08 +00:00
weichen bd632236c2 Extend messages and context observation for variants and estimates
Why: Labeled secrets, excluded turns, and candidate replies need fields on the shared message contract, and context snapshots need a section breakdown plus a stable prefix hash.
Evidence: go test ./... in agent-system-core. New fields use omitempty, so existing golden JSON stays the same.
Impact: Clients that ignore unknown fields keep working. Assemblers can now mark a message excluded or as one candidate in a group.
Refs: docs/records/2026-10-04-sillytavern-review.md
2026-10-04 18:18:57 +00:00
weichen a7db6a4d0f Merge pull request 'Record the model that served a run's usage' (#20) from feature/durable-rewind into main 2026-10-03 17:40:15 +00:00
weichenandCursor 5dc190ee63 Record the model that served a run's usage
Why: a fallback chain can answer with a different model than the one that was requested, and usage has to name the model that actually served.
Evidence: go test .
Impact: the field is omitted when empty, so existing usage JSON stays the same.
Refs: feature/durable-rewind
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 17:28:40 +00:00
weichen b7e5baf15c Merge pull request 'Add session permission mode and confirmation detail' (#19) from feature/permission-hooks into main 2026-10-03 17:06:48 +00:00
weichenandCursor cf7df54874 Add session permission mode and confirmation detail
Why: The product needs a session mode and a place to show tool arguments on a confirmation card without inventing a second card type.
Evidence: GOWORK=off go test . passed. New fields use omitempty, so existing golden JSON stays the same.
Impact: Empty permission mode still means the profile policy. Clients that ignore unknown fields keep working.
Refs: feature/permission-hooks
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 17:02:28 +00:00
weichen 88e481afcd Merge pull request 'Add a finalizing phase and a check part' (#18) from feature/final-reply-compose into main 2026-10-02 14:15:05 +00:00
weichenandCursor 7c66075ee9 Add a finalizing phase and a check part
Why: The final reply is composed after the work loop, and the automatic end check needs its own part and event so the timeline can show it without mixing it into the user-facing text.
Evidence: go test ./...
Impact: New RunPhase finalizing, PartType check, and run.check. Existing payloads are unchanged.
Refs: feature/final-reply-compose
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 13:32:32 +00:00
weichen 3f7067fb2d Merge pull request 'Add streaming events for in-flight tool calls' (#17) from feature/stream-display-overhaul into main 2026-10-02 05:04:38 +00:00
weichenandCursor f08a4a90c6 Add streaming events for in-flight tool calls
Why: The client only learned about a tool call once execution started, so long argument generation looked like a frozen cursor.
Evidence: go test ./...
Impact: New tool.call.delta and tool.output events; tool.result may include durationMs. Unknown event types stay ignored.
Refs: feature/stream-display-overhaul
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 02:11:42 +00:00
weichen 4d1123e45c Merge pull request 'Add script steps and critic fields to workflow definitions' (#16) from feature/agent-harness-p4 into main
Merge pull request #16
2026-10-02 01:03:55 +00:00
weichenandCursor f93f473a0e Add script steps and critic fields to workflow definitions
Why: The workflow executor needs a shared contract for subagent profiles, plugin scripts, and per-step plus whole-run retry caps.
Evidence: go test ./... passed, including the new workflow_def golden.
Impact: New fields are omitempty, so existing workflow JSON still decodes. Kind script is additive.
Refs: feature/agent-harness-p4
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 15:55:52 +00:00
weichen a8e81e078d Merge pull request 'Add optional tools, model, and maxTurns to prompt modules' (#15) from feature/agent-harness-p3b into main 2026-10-01 15:51:54 +00:00
weichenandCursor 9b8cf79c96 Add optional tools, model, and maxTurns to prompt modules
Why: User overrides of a subagent profile need a place on the shared contract, and empty fields must stay omitted so older modules keep their meaning.
Evidence: go test ./... passed, including the new prompt_module_subagent golden.
Impact: Existing modules serialize the same. Frontend and UI contracts still need a copy of the type.
Refs: feature/agent-harness-p3b
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 15:21:47 +00:00
weichen 493a846f07 Accept plugin manifest apiVersion 2.0-experimental
Why: Downstream repositories need a versioned public manifest for skills, MCP, knowledge, parsers, agents, channels, and pages without forking the base.

Evidence: go test ./... passed after omitzero on empty scope and backend so the golden plugin_manifest stays stable.

Impact: apiVersion 1.0 remains accepted. New provides fields are optional. Merge without squash so Backend can pin this commit.

Refs: Agent-System-Dev feature/base-extension-roadmap
2026-10-01 10:47:10 +00:00
weichen 447ea5c5ae Merge remote-tracking branch 'origin/main' into feature/base-extension-roadmap 2026-10-01 10:46:55 +00:00
weichenandCursor fdc0c1b933 Accept plugin manifest apiVersion 2.0-experimental
Why: Downstream repositories need a versioned public manifest for skills, MCP, knowledge, parsers, agents, channels, and pages without forking the base.
Evidence: go test ./... passed after omitzero on empty scope and backend so the golden plugin_manifest stays stable.
Impact: apiVersion 1.0 remains accepted. New provides fields are optional. Scope and backend are omitted when zero.
Refs: docs/proposals/2026-10-01-plugin-contract-v2.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 10:34:29 +00:00
weichen b80407a9a6 Merge pull request 'Add thinking duration to message parts' (#13) from feature/chat-timeline-preview into main
Merged by the timeline task after the owner asked to land the open pull requests.
2026-10-01 07:38:46 +00:00
weichenandCursor d4375300cd Add thinking duration to message parts
Why: The chat timeline needs a persisted thinking duration, and tool duration already lives on the tool call, so the thinking part had nowhere to put it.
Evidence: go test ./... passes; the message golden now includes durationMs on the thinking part.
Impact: Additive JSON field with omitempty. Existing clients ignore unknown fields.
Refs: feature/chat-timeline-preview
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 06:03:19 +00:00
weichen 1b04a34bbc Merge pull request 'Extract project channel key helpers (CF3 review fix)' (#12) from feature/project-inbox-r1 into main 2026-09-30 19:10:08 +00:00
weichen c8266fef42 Merge main into feature/project-inbox-r1 (sync before merge per branch protection) 2026-09-30 19:10:04 +00:00
weichen ed579bf29c Extract project channel key helpers (CF3 review fix)
Why: project channel convention (pseudo-key project:<projectId>) was
duplicated across runmgr/server/store; centralize so replay envelopes
match live stamping.
Evidence: go test green.
Impact: no behavior change; enables store replay stamping.
2026-09-30 19:07:06 +00:00
weichen f8b77c0d02 Merge pull request 'Add ProjectID to stream event envelope (CF3 project channel)' (#11) from feature/project-inbox-r1 into main 2026-09-30 18:56:52 +00:00
weichen 0b3392acea Add ProjectID to stream event envelope for project channel (CF3)
Why: D50 approved — the project inbox needs its own SSE stream reusing the
conversation event mechanism via the pseudo-key project:<projectId>; the
envelope stamps project ownership (additive field).
Evidence: conformance golden event_project_stream; go test green.
Impact: additive only (omitempty); consumers ignore unknown fields.
Refs: documents proposal 2026-09-30-card-stream-artifact-unify-project-inbox.md (D50).
2026-09-30 18:56:47 +00:00
weichen 90b57477bb Merge pull request 'Add Hidden to ToolDesc for reserved tool capabilities' (#10) from feature/file-preview-caps into main 2026-09-30 17:20:20 +00:00
weichen cafd9a54e5 Merge pull request 'Add CardID to CardPart for inbox-reference card parts' (#8) from feature/cardflow-r1 into main 2026-09-30 17:10:52 +00:00
weichen a64fb5a168 Add CardID to CardPart for inbox-reference card parts
Why: 卡流机制(CF1)需要消息部件正式引用收件箱 ActivityCard——submit_card 产卡时卡片为产物权威载体,消息只存引用+锚点渲染(原仅能从 data 字符串里正则抠 card:<id>)。
Evidence: go test ./... 通过;golden message.json 增 card 引用部件锁定 cardId 线格式(-update 重生成后逐字节一致)。
Impact: CardPart 增可选 cardId(omitempty,旧数据零影响);ts/types.ts 同步,镜像经 make contracts 再生成。
Refs: Dev 任务卡 feature/cardflow-r1;提案 cardflow-and-process-split(编制中)。
2026-09-30 16:10:20 +00:00
weichen c9aff06ed5 Merge pull request 'Record Gitea access facts in AGENTS.md' (#7) from feature/gitea-access-facts into main 2026-09-30 16:08:25 +00:00
weichen fd441794b1 Merge pull request 'Add cross-session flags to the Conversation contract' (#6) from feature/cross-session-reading into main 2026-09-30 15:00:44 +00:00
weichen 284e8f365f Add cross-session flags to the Conversation contract
Why: cross-session transcript reading needs per-conversation outbound
(allowCrossRead, default true) and inbound (crossPrivate, default false)
flags alongside the project-level gate; see the approved proposal.

Evidence: go test ./... passes with golden conversation.json regenerated
to exercise both wire fields.

Impact: additive contract fields (omitempty), wire-compatible for
existing clients that ignore unknown fields.

Refs: Agent-System-Documents proposals/2026-09-30-cross-session-reading.md
(Dev task feature/cross-session-reading).
2026-09-30 15:00:22 +00:00
weichen 10a84345b7 Merge pull request 'Add the avatar vocabulary to UINode (UI capability platform)' (#5) from feature/ui-capability-platform into main 2026-09-30 14:22:27 +00:00
weichen e5c9c540cd Add the avatar vocabulary to UINode (UI capability platform)
Why: plugins and the host need one shared avatar primitive for member/
owner displays in cards, messages, and admin surfaces (user decision
2026-09-30: avatars, cards, settings become base capabilities plugins
reuse directly).

Evidence: go test green with regenerated golden (single avatar with
sub/tone plus a stacked group); omitempty keeps existing wire samples
byte-stable.

Impact: additive optional UINode field + type; unknown-type consumers
ignore it (forward compat). Renderers gain 'avatar' via the ui repo.

Refs: Agent-System-Documents proposal 2026-09-30-ui-redesign-and-auth.md
2026-09-30 14:22:10 +00:00
weichen 9c4d163333 Merge pull request 'Add pinned and archived flags to Conversation (R1)' (#4) from feature/task-sidebar-r1 into main 2026-09-30 10:45:12 +00:00
weichen b6d428ba35 Add pinned and archived flags to Conversation
Why: the approved task-centric sidebar (proposal 2026-09-30, option A) needs
server-authoritative pin and archive state on conversations; client-side
storage would be fake state against the event-sourced model.

Evidence: go test ./... passes; omitempty keeps wire format and golden
samples byte-identical for zero values (backward compatible).

Impact: additive optional fields; consumers ignoring unknown fields are
unaffected (forward-compat principle). Backend consumes via submodule bump.

Refs: Agent-System-Documents docs/proposals/2026-09-30-ui-redesign-and-auth.md (P6/P8, R1)
2026-09-30 10:39:16 +00:00
weichen 1728c95eae Merge pull request 'feature/prompt-library' (#3) from feature/prompt-library into main 2026-09-30 10:36:34 +00:00
weichen 0cb0a40dc8 Add the prompt module contract and profile references
Why: prompts are moving from code into a data library; core needs the
PromptModule/Trigger/Block contract and profiles need an ordered
promptModules reference (empty = default base+env set).

Evidence: unit-covered via backend prompts package tests over this
contract; composite make test green.

Impact: additive contract fields only; no behavior change in core.

Refs: feature/prompt-library task card.
2026-09-30 10:28:59 +00:00
weichen a2050d848f Merge pull request 'Add activity card, card events, HITL anchoring and UI vocabulary extension' (#2) from feature/core-cards-commands-r1 into main 2026-09-30 06:22:01 +00:00
weichen a4ea66c41d Add activity card, card events, HITL anchoring and UI vocabulary extension
Why: Contract foundation for the inbox/command-bus/workspaces phase (proposal
  D28/D30): ActivityCard as the first-class state object behind the right-rail
  inbox, card.* stream events, inline-confirm anchoring (anchorMessageId +
  blocked/blockReason) on HITL, seven new UI schema vocabularies, plugin
  provides.commands/workspaces, workflow card step and workspace declarations.

Evidence: go vet clean; conformance goldens regenerated and verified — new
  activity_card / hitl_card_blocked / event_card_created / event_card_resolved /
  ui_vocabularies samples plus extended plugin_manifest; CardStatus.Terminal
  helper unit-covered via build; ts/types.ts mirrors all additions.

Impact: Additive only (omitempty fields, new types, new event types) — existing
  consumers ignore unknown values per forward-compat rule; vocabulary spec types
  carry a Spec suffix to avoid const-name collisions.

Refs: modules/documents docs/proposals/2026-09-30-ui-inbox-command-workspace.md
2026-09-30 06:22:00 +00:00
weichen 4ee1979535 Merge pull request 'Adopt the task-startup gate and commit format in AGENTS.md' (#1) from feature/entry-docs-gate into main 2026-09-30 03:15:22 +00:00