39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
---
|
|
id: analysis/defaults
|
|
name: Implement default value resolution for CallStatus, EdgeType, and node attributes
|
|
status: completed
|
|
depends_on:
|
|
- schema/enums
|
|
- schema/node-attrs
|
|
- schema/edge-attrs
|
|
scope: single
|
|
risk: trivial
|
|
impact: isolated
|
|
level: implementation
|
|
---
|
|
|
|
## Description
|
|
|
|
Implement the defaults module that provides default values and resolution functions for categorical enums and node attributes. Used by construction and mutation methods to fill in unspecified fields.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] `src/analysis/defaults.ts` exports default status, edge type, and attribute resolution functions
|
|
- [ ] `defaultCallStatus: CallStatus` = `"pending"`
|
|
- [ ] `defaultNodeStatus: NodeStatus` = `"idle"`
|
|
- [ ] `defaultEdgeType(edgeType?: string): EdgeType` — returns the provided type or `"typed"` (operation graph default)
|
|
- [ ] `resolveDefaultNodeAttrs(attrs: Partial<...>, defaults): NodeAttrs` — fills in missing required fields
|
|
- [ ] Unit tests: each default value is correct, resolution with partial input
|
|
|
|
## References
|
|
|
|
- docs/architecture/analysis.md — defaults section
|
|
- docs/architecture/schema.md — default values for NodeStatus, CallStatus
|
|
|
|
## Notes
|
|
|
|
> To be filled by implementation agent
|
|
|
|
## Summary
|
|
|
|
> To be filled on completion |