Browse Source

docs: close built-in event plugin todos

Problem: Todo 47 and its safety/compatibility follow-ups remained open after all four plugins passed bounded specification and quality gates.

Risk: adapters remain lab-only mocks; production session/device/calendar/search integration and runtime-scoped deduplication remain separate work.
zhenyu.hu 2 tuần trước cách đây
mục cha
commit
18c21d30f3

+ 5 - 1
docs/plans/todo-47-built-in-event-plugins.md

@@ -1,6 +1,10 @@
 # Todo 47 Built-in Event Plugins Plan
 
-**Status:** in_progress
+**Status:** done
+
+## Result
+
+Added four flat namespaced built-in plugins with injectable session, device, calendar, and search ports plus deterministic in-memory adapters. The default registry preserves the original lab tools and exposes the new definitions to both invocation modes. Final full verification: `313 passed`, one existing warning.
 
 ## Review Update
 

+ 5 - 1
docs/plans/todo-47.1-plugin-normalization-and-validation.md

@@ -1,6 +1,10 @@
 # Todo 47.1 Plugin Normalization and Validation Plan
 
-**Status:** in_progress
+**Status:** done
+
+## Result
+
+Added generic deterministic normalizers shared by text and provider sources, standard/custom format checking, strict blank/invalid input rejection, safe volume parsing, and canonical adapter cache keys while preserving provider raw arguments and no-fallback behavior.
 
 ## Goal
 

+ 5 - 1
docs/plans/todo-47.2-plugin-token-and-compatibility-boundaries.md

@@ -1,6 +1,10 @@
 # Todo 47.2 Plugin Token and Compatibility Boundaries Plan
 
-**Status:** in_progress
+**Status:** done
+
+## Result
+
+Closed negation and malformed numeric side-effect gaps, canonicalized integral floats, preserved fallback provenance, restored standard RFC3339 behavior, and kept positional definition constructors compatible.
 
 ## Goal
 

+ 5 - 1
docs/plans/todo-47.3-bare-volume-numeric-guard.md

@@ -1,6 +1,10 @@
 # Todo 47.3 Bare Volume Numeric Guard Plan
 
-**Status:** in_progress
+**Status:** done
+
+## Result
+
+Mirrored malformed-number protection across the existing bare `volume to`, `volume at`, and `volume=` syntax; final bounded quality gate approved.
 
 ## Goal
 

+ 4 - 4
docs/plans/todos.md

@@ -84,10 +84,10 @@
 | 45.7 | done | `docs/plans/todo-45.7-structured-incomplete-mixed-validation.md` | Prevent an explicit structured `complete=False` flag from bypassing substantive validation failures. | Structured incomplete plus substantive errors skips fallback; bounded final gate APPROVED. |
 | 46 | done | `docs/plans/todo-46-configurable-tool-invocation-mode.md` | Add `dual_agent` and `chat_agent_tools` runtime modes on the shared event kernel. | Both modes share registry/kernel/results while preserving mode-specific protocol and valid transcripts; full suite passes (`217 passed`, one existing warning). |
 | 46.1 | done | `docs/plans/todo-46.1-mode-parity-and-duplicate-call-safety.md` | Reject repeated provider call IDs before side effects, align direct multi-call concurrency with dual mode, and enforce the same event budget in both modes. | Duplicate IDs are rejected before side effects; direct batches overlap with stable order; dual/direct budgets are symmetric; final gates pass. |
-| 47 | in_progress | `docs/plans/todo-47-built-in-event-plugins.md` | Add terminate-session, device-volume, schedule, and web-search as built-in plugins on the generic event kernel. | Plugin contract tests cover valid, ambiguous, invalid, idempotent, and failure results for all four events. |
-| 47.1 | in_progress | `docs/plans/todo-47.1-plugin-normalization-and-validation.md` | Share plugin normalization across invocation modes and harden negation, numeric, date/timezone, query, and adapter idempotency boundaries. | Direct/dual canonical results match; negated/oversized volume never executes; invalid calendar/timezone and blank query are rejected; short ID collisions cannot return stale results. |
-| 47.2 | in_progress | `docs/plans/todo-47.2-plugin-token-and-compatibility-boundaries.md` | Reject remaining negated/non-integer volume tokens, canonicalize integral JSON numbers, preserve fallback state, use standard date-time semantics, and restore positional dataclass compatibility. | No negated/decimal/grouped volume side effects; `2.0` becomes canonical `2`; fallback errors retain usage; lowercase RFC3339 works; old positional definitions remain valid. |
-| 47.3 | in_progress | `docs/plans/todo-47.3-bare-volume-numeric-guard.md` | Apply malformed numeric rejection to the existing bare `volume to`, `volume at`, and `volume=` syntaxes. | Decimal/grouped bare volume requests never truncate or call the port; existing integer bare syntax remains valid. |
+| 47 | done | `docs/plans/todo-47-built-in-event-plugins.md` | Add terminate-session, device-volume, schedule, and web-search as built-in plugins on the generic event kernel. | Four namespaced plugins use injectable ports/default adapters with no generic name branches; full suite passes (`313 passed`, one existing warning). |
+| 47.1 | done | `docs/plans/todo-47.1-plugin-normalization-and-validation.md` | Share plugin normalization across invocation modes and harden negation, numeric, date/timezone, query, and adapter idempotency boundaries. | Direct/dual normalization matches; strict date/timezone/query validation and canonical adapter keys pass final gates. |
+| 47.2 | done | `docs/plans/todo-47.2-plugin-token-and-compatibility-boundaries.md` | Reject remaining negated/non-integer volume tokens, canonicalize integral JSON numbers, preserve fallback state, use standard date-time semantics, and restore positional dataclass compatibility. | Named negation/token cases, integral floats, fallback provenance, RFC3339, and positional compatibility pass. |
+| 47.3 | done | `docs/plans/todo-47.3-bare-volume-numeric-guard.md` | Apply malformed numeric rejection to the existing bare `volume to`, `volume at`, and `volume=` syntaxes. | Bare decimal/grouped tokens are rejected with no side effect; integer forms remain valid; bounded gate APPROVED. |
 | 48 | pending | `docs/plans/todo-48-parallel-event-batches.md` | Execute multiple flat events with bounded parallelism, failure isolation, aggregation, and a terminal barrier. | Runtime tests prove independent concurrency, stable result order, isolated failures, and termination after sibling completion or timeout. |
 | 49 | pending | `docs/plans/todo-49-tool-mode-ui-session-restore.md` | Add UI mode selection, workspace/session restoration, and clear EventAgent applicability feedback. | Static/WebSocket tests prove requests, snapshots, loaded sessions, and audit context preserve the selected mode. |
 | 50 | pending | `docs/plans/todo-50-comparable-model-tool-metrics.md` | Record mode-aware model/tool spans and include EventAgent usage so both architectures can be compared fairly. | Persistence/API tests report agent, call kind, tokens, TTFT, tool latency, fallback usage, and total turn wall time without double counting. |