Files
LWLT-AIBOT/.project-docs/30-worklog/tasks/20260908-shared-child-batch-create-4e7c2a91.md
T

61 lines
5.0 KiB
Markdown

# Task: Add batch shared-child order creation
## Identity
- Task ID: 20260908-shared-child-batch-create-4e7c2a91
- Mode: Feature
- Branch: codex/20260908-shared-child-batch-create-4e7c2a91-shared-child-batch-create
- Worktree: /Users/inmanx/Documents/lwltAPI-shared-child-batch-create-4e7c2a91
- Base commit: 515b545b32fcbb30311b56c5b90a36f3d3834d95
- Owner: codex
- Status: Ready for integration
## Scope
- Add a Program-only `shared_child_order_batch_create` business route for the directive `散拼团多个新增子单`.
- Parse one inclusive departure date range plus customer, product, optional leader, passenger counts, and optional special requests.
- Resolve every matching shared mother plan in the range before the first write, then create one identical child order per resolved parent sequentially.
- Add strict execution validation, batch receipts, stop-on-first-failure behavior, database route constraints, tests, and the synchronized Chrome extension release artifact.
## Intent And Constraints
- Program processing only: do not add or modify any Skill, Agent prompt, external-Agent directive route, or Agent parsing action.
- The product is a required hard match against the visible shared-plan row; booking customer and leader are child-order fields and must not filter mother plans.
- Enumerate and validate the complete target set before the first ERP write. Zero targets, incomplete parent references, or duplicate/conflicting parent identity must fail closed.
- Execute targets in date/tid order, retain per-parent receipts, stop after the first blocked/failed/uncertain result, and never retry a write automatically.
- No live ERP write, deployment, restart, or external send is authorized by this task.
## Outcome
- Added the nineteenth machine business route, `shared_child_order_batch_create`, with the Program-only directive `散拼团多个新增子单`; the external Agent continues to expose and validate only its original eighteen routes.
- The deterministic parser now accepts the inclusive `出发日期` range and emits customer, product, optional leader, passenger counts, and optional special requests under parser version `ltjt-program-parser-v1.0.7`.
- The browser adapter performs a complete read-only, per-date shared-plan enumeration before the write boundary, hard-matches the product on concrete native parent rows, rejects empty/incomplete/conflicting/oversized target sets, and binds each target to its parent group number, numeric `tid`, and departure date.
- Batch execution reuses the verified single-child path once per resolved parent in deterministic order, records per-parent outcomes and child-order receipts, stops at the first blocked/failed/uncertain result, leaves remaining targets `not_started`, and never retries a write automatically.
- Added schema, mapping, UI label, reply profile, migration `022_shared_child_order_batch_create.sql`, fail-closed authorization compatibility, parser/browser/Agent-boundary regression coverage, and Chrome extension release `0.5.170`.
- Rebuilt `dist/ltjt-order-assistant-0.5.170.zip` from the final extension source and synchronized `dist/release-manifest.json`; the previously tracked `0.5.169` archive is replaced by the new version and remains recoverable from Git history.
- No Skill, Agent prompt, Agent directive registry, Agent parsing schema, live ERP data, deployed service, or running process was changed.
## Verification
- `node --check chrome-extension/ltjt-order-assistant/background.js` — passed.
- `node --check chrome-extension/ltjt-order-assistant/inpage.js` — passed.
- `node --check chrome-extension/ltjt-order-assistant/operation-plans.js` — passed.
- Targeted Program parser and Program-only route tests — passed, including the supplied `10-06到11-03` sample and the Agent rejection boundary.
- Targeted operation-plan, lifecycle-contract, and external-Agent tests — passed.
- `node --run check` — passed.
- `node --run test:control-plane` — passed.
- `node --run test:legacy` — passed (277 tests).
- `node --run build` — passed.
- `node --run check:repo` — passed, including exact release archive/source and SHA-256 consistency.
- `git diff --check` — passed.
## Follow-ups
- Deployment is intentionally out of scope. Before production use, apply migration 022, deploy the control plane/platform changes, install extension `0.5.170`, and explicitly grant the new route to each intended non-administrator account; the migration does not auto-grant it.
- Run a separately authorized, bounded ERP acceptance task before broad production rollout because this task performed no live ERP write.
## Promotion Candidates
- Integration should promote parser `v1.0.7`, machine route count 19, Program-only route count 3, migration 022, and extension `0.5.170` into canonical project state, architecture, business-rule, and release records.
- A later documentation-only integration may clarify references to “18 machine routes” as “18 external-Agent routes / 19 total machine routes” without adding this Program-only business to any Skill or Agent processing path.