docs(01-03): complete reaction removal plan
- add execution summary for Matrix text confirmation changes - update state tracking and roadmap progress for phase 01 - record plan completion details for follow-up test work
This commit is contained in:
parent
01610ef768
commit
0d85947a0b
3 changed files with 109 additions and 6 deletions
|
|
@ -13,7 +13,7 @@
|
||||||
Plans:
|
Plans:
|
||||||
- [x] 01-01-PLAN.md — Space+rooms infrastructure (store helpers, handle_invite rewrite, room_router)
|
- [x] 01-01-PLAN.md — Space+rooms infrastructure (store helpers, handle_invite rewrite, room_router)
|
||||||
- [x] 01-02-PLAN.md — Chat command handlers (!new, !archive, !rename) Space-aware
|
- [x] 01-02-PLAN.md — Chat command handlers (!new, !archive, !rename) Space-aware
|
||||||
- [ ] 01-03-PLAN.md — Reaction removal + !yes/!no confirmation + settings dashboard
|
- [x] 01-03-PLAN.md — Reaction removal + !yes/!no confirmation + settings dashboard
|
||||||
- [ ] 01-04-PLAN.md — Test suite (fix 4 broken + 12 new MAT-01..MAT-12)
|
- [ ] 01-04-PLAN.md — Test suite (fix 4 broken + 12 new MAT-01..MAT-12)
|
||||||
|
|
||||||
**Deliverables:**
|
**Deliverables:**
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@ gsd_state_version: 1.0
|
||||||
milestone: v1.0
|
milestone: v1.0
|
||||||
milestone_name: — Production-ready surfaces
|
milestone_name: — Production-ready surfaces
|
||||||
status: in_progress
|
status: in_progress
|
||||||
last_updated: "2026-04-02T19:52:40.867Z"
|
last_updated: "2026-04-02T19:57:34.111Z"
|
||||||
progress:
|
progress:
|
||||||
total_phases: 3
|
total_phases: 3
|
||||||
completed_phases: 0
|
completed_phases: 0
|
||||||
total_plans: 4
|
total_plans: 4
|
||||||
completed_plans: 2
|
completed_plans: 3
|
||||||
---
|
---
|
||||||
|
|
||||||
# State
|
# State
|
||||||
|
|
@ -18,7 +18,7 @@ progress:
|
||||||
See: .planning/PROJECT.md (updated 2026-04-02)
|
See: .planning/PROJECT.md (updated 2026-04-02)
|
||||||
|
|
||||||
**Core value:** Пользователь ведёт диалог с Lambda через любой мессенджер без изменения ядра
|
**Core value:** Пользователь ведёт диалог с Lambda через любой мессенджер без изменения ядра
|
||||||
**Current focus:** Phase 01 — matrix-qa-polish (next: 01-03)
|
**Current focus:** Phase 01 — matrix-qa-polish (next: 01-04)
|
||||||
|
|
||||||
## Current Phase
|
## Current Phase
|
||||||
|
|
||||||
|
|
@ -31,6 +31,8 @@ See: .planning/PROJECT.md (updated 2026-04-02)
|
||||||
- Неизвестные Matrix rooms больше не auto-register в роутере; используется явный fallback `unregistered:{room_id}` с warning-логом (2026-04-02)
|
- Неизвестные Matrix rooms больше не auto-register в роутере; используется явный fallback `unregistered:{room_id}` с warning-логом (2026-04-02)
|
||||||
- [Phase 01]: Use ChatContext.surface_ref as the Matrix room identifier for !rename updates.
|
- [Phase 01]: Use ChatContext.surface_ref as the Matrix room identifier for !rename updates.
|
||||||
- [Phase 01]: Keep !archive limited to core archive state in Phase 1; Space child removal remains deferred.
|
- [Phase 01]: Keep !archive limited to core archive state in Phase 1; Space child removal remains deferred.
|
||||||
|
- [Phase 01]: Matrix OutgoingUI no longer emits reactions; confirmation state is persisted and resumed via `!yes` / `!no`.
|
||||||
|
- [Phase 01]: `!settings` now renders a dashboard snapshot instead of advertising mutable subcommands.
|
||||||
|
|
||||||
## Blockers
|
## Blockers
|
||||||
|
|
||||||
|
|
@ -40,9 +42,11 @@ See: .planning/PROJECT.md (updated 2026-04-02)
|
||||||
|
|
||||||
| Phase | Plan | Duration | Tasks | Files | Recorded |
|
| Phase | Plan | Duration | Tasks | Files | Recorded |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
| 01 | 01 | 1 min | 3 | 3 | 2026-04-02T19:50:50Z |
|
||||||
| 01 | 02 | 1 min | 2 | 2 | 2026-04-02 |
|
| 01 | 02 | 1 min | 2 | 2 | 2026-04-02 |
|
||||||
|
| 01 | 03 | 3 min | 2 | 5 | 2026-04-02T19:57:34Z |
|
||||||
|
|
||||||
## Session
|
## Session
|
||||||
|
|
||||||
- Last session: 2026-04-02T19:52:40Z
|
- Last session: 2026-04-02T19:57:34Z
|
||||||
- Stopped at: Completed 01-02-PLAN.md
|
- Stopped at: Completed 01-03-PLAN.md
|
||||||
|
|
|
||||||
99
.planning/phases/01-matrix-qa-polish/01-03-SUMMARY.md
Normal file
99
.planning/phases/01-matrix-qa-polish/01-03-SUMMARY.md
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
---
|
||||||
|
phase: 01-matrix-qa-polish
|
||||||
|
plan: 03
|
||||||
|
subsystem: matrix
|
||||||
|
tags: [matrix, confirmations, settings, text-ui]
|
||||||
|
requires:
|
||||||
|
- phase: 01-matrix-qa-polish
|
||||||
|
provides: Space-aware Matrix store and handler wiring from plans 01-01 and 01-02
|
||||||
|
provides:
|
||||||
|
- Text-only Matrix confirmation flow via `!yes` and `!no`
|
||||||
|
- Pending confirmation persistence on `OutgoingUI` send
|
||||||
|
- Read-only Matrix `!settings` dashboard
|
||||||
|
affects: [matrix-adapter, matrix-tests, confirmation-flow]
|
||||||
|
tech-stack:
|
||||||
|
added: []
|
||||||
|
patterns: [Matrix confirmation state stored per room, read-only settings dashboard rendering]
|
||||||
|
key-files:
|
||||||
|
created: [.planning/phases/01-matrix-qa-polish/01-03-SUMMARY.md]
|
||||||
|
modified:
|
||||||
|
- adapter/matrix/bot.py
|
||||||
|
- adapter/matrix/reactions.py
|
||||||
|
- adapter/matrix/handlers/confirm.py
|
||||||
|
- adapter/matrix/handlers/settings.py
|
||||||
|
- adapter/matrix/handlers/__init__.py
|
||||||
|
key-decisions:
|
||||||
|
- "Matrix OutgoingUI no longer emits reactions; confirmation state is persisted and resumed via `!yes` / `!no`."
|
||||||
|
- "`!settings` now renders a dashboard snapshot instead of advertising mutable subcommands."
|
||||||
|
patterns-established:
|
||||||
|
- "Matrix adapter keeps transport UX text-based when callback events are unavailable or unreliable."
|
||||||
|
- "Confirmation handlers are registered as closures when adapter state access is required."
|
||||||
|
requirements-completed: []
|
||||||
|
duration: 3 min
|
||||||
|
completed: 2026-04-02
|
||||||
|
---
|
||||||
|
|
||||||
|
# Phase 01 Plan 03: Reaction Removal Summary
|
||||||
|
|
||||||
|
**Matrix confirmation prompts now render as plain text, persist pending state per room, and resolve through `!yes` / `!no` alongside a read-only settings dashboard.**
|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
- **Duration:** 3 min
|
||||||
|
- **Started:** 2026-04-02T19:53:30Z
|
||||||
|
- **Completed:** 2026-04-02T19:56:30Z
|
||||||
|
- **Tasks:** 2
|
||||||
|
- **Files modified:** 5
|
||||||
|
|
||||||
|
## Accomplishments
|
||||||
|
|
||||||
|
- Removed Matrix reaction event handling and reaction emission from the adapter send path.
|
||||||
|
- Stored pending confirmation metadata when `OutgoingUI` sends buttons, then resolved it through `!yes` / `!no`.
|
||||||
|
- Replaced the `!settings` command menu with a read-only dashboard showing skills, soul, safety, and active chats.
|
||||||
|
|
||||||
|
## Task Commits
|
||||||
|
|
||||||
|
Each task was committed atomically:
|
||||||
|
|
||||||
|
1. **Task 1: Remove reactions from bot.py, update send_outgoing for !yes/!no** - `8a6a33a` (feat)
|
||||||
|
2. **Task 2: Update reactions.py text builders + confirm.py handlers + settings.py dashboard** - `01610ef` (feat)
|
||||||
|
|
||||||
|
## Files Created/Modified
|
||||||
|
|
||||||
|
- `adapter/matrix/bot.py` - Removed reaction callbacks and switched `OutgoingUI` delivery to text plus pending confirmation storage.
|
||||||
|
- `adapter/matrix/reactions.py` - Updated helper text to `!skill` and `!yes` / `!no`, removed reaction send helpers.
|
||||||
|
- `adapter/matrix/handlers/confirm.py` - Added closure-based confirm and cancel handlers backed by pending confirmation state.
|
||||||
|
- `adapter/matrix/handlers/settings.py` - Replaced the command list response with a read-only dashboard summary.
|
||||||
|
- `adapter/matrix/handlers/__init__.py` - Registered confirm and cancel handlers through store-aware factories.
|
||||||
|
|
||||||
|
## Decisions Made
|
||||||
|
|
||||||
|
- Removed Matrix reaction UX completely from adapter send and receive paths to match the phase requirement for command-driven confirmations.
|
||||||
|
- Kept confirmation state in the Matrix adapter store keyed by room so `!yes` and `!no` can work without protocol changes.
|
||||||
|
- Left the deeper settings subcommands in place, but made `!settings` itself a read-only overview as required by D-12.
|
||||||
|
|
||||||
|
## Deviations from Plan
|
||||||
|
|
||||||
|
None - plan executed exactly as written.
|
||||||
|
|
||||||
|
## Issues Encountered
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
## User Setup Required
|
||||||
|
|
||||||
|
None - no external service configuration required.
|
||||||
|
|
||||||
|
## Next Phase Readiness
|
||||||
|
|
||||||
|
Plan `01-04` can now focus on Matrix test updates against the text-only confirmation and dashboard behavior.
|
||||||
|
|
||||||
|
## Self-Check: PASSED
|
||||||
|
|
||||||
|
- Found `.planning/phases/01-matrix-qa-polish/01-03-SUMMARY.md`
|
||||||
|
- Found commit `8a6a33a`
|
||||||
|
- Found commit `01610ef`
|
||||||
|
|
||||||
|
---
|
||||||
|
*Phase: 01-matrix-qa-polish*
|
||||||
|
*Completed: 2026-04-02*
|
||||||
Loading…
Add table
Add a link
Reference in a new issue