docs: record AI Design outcome integration
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Adopt source task records before committing an Integration
|
||||
|
||||
## Trigger
|
||||
|
||||
Integration task `20260903-design-message-send-client-integration-6f3a8c21`
|
||||
cherry-picked a reviewed source commit with the default auto-commit behavior. The
|
||||
product patch was clean, but that commit also introduced the source task record.
|
||||
`check_doc_drift.py` correctly blocked because the Integration ownership record had
|
||||
not captured that foreign task-owned document as an unchanged source.
|
||||
|
||||
## Recovery
|
||||
|
||||
No product or user file was lost. After explicit user approval, the task soft-reset
|
||||
only its newly created, unpushed commit, preserving both index and worktree. It then
|
||||
resumed the same Integration ownership with `--adopt-existing` while the exact source
|
||||
record was staged, verified the staged patch, and recommitted the identical source
|
||||
change.
|
||||
|
||||
## Reusable Rule
|
||||
|
||||
When a source commit adds or updates its own task record, do not let cherry-pick
|
||||
auto-commit it inside an already-owned Integration worktree. Use
|
||||
`git cherry-pick --no-commit <source>` (or pause an ordinary merge before commit),
|
||||
then resume the same Integration task with `task_context.py start ...
|
||||
--adopt-existing`. Confirm the source record is byte-for-byte unchanged, commit the
|
||||
source patch, and run the task-aware drift check. Never edit the source task record
|
||||
to make the gate pass.
|
||||
|
||||
## Evidence
|
||||
|
||||
- Source: `83f3f134a6779251aaa18f3290308cd9221b038f`.
|
||||
- Integrated product commit:
|
||||
`a16dfd0d6f48b99899ba84ac63bde4dcd661d067`.
|
||||
- The source-path comparison and final task-aware drift check verify that the
|
||||
source record and product files were integrated unchanged.
|
||||
Reference in New Issue
Block a user