38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
---
|
|
id: drift/any-to-unknown
|
|
name: Replace Type.Any() with Type.Unknown() across all source files
|
|
status: pending
|
|
depends_on: []
|
|
scope: narrow
|
|
risk: trivial
|
|
impact: component
|
|
level: implementation
|
|
---
|
|
|
|
## Description
|
|
|
|
The architecture spec (metagraph-module.md, ADR-012) mandates `Type.Unknown()` as the canonical choice for "no validation applied" fields, not `Type.Any()`. Both produce `{}` in JSON Schema, but `Type.Unknown()` explicitly communicates intent. There are 6 locations in the source that use `Type.Any()` where the spec says `Type.Unknown()`.
|
|
|
|
This is a mechanical find-and-replace with no behavioral change — `Type.Any()` and `Type.Unknown()` produce identical JSON Schema output (`{}`).
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] `src/graphs/types.ts`: `metadata` fields in `BaseNodeAttributes` and `BaseEdgeAttributes` use `Type.Unknown()` instead of `Type.Any()`
|
|
- [ ] `src/graphs/types.ts`: `schema` fields in `NodeType` and `EdgeType` use `Type.Unknown()` instead of `Type.Any()`
|
|
- [ ] `src/sqlite/tables/nodes.ts`: `AttributesSchema` uses `Type.Record(Type.String(), Type.Unknown())` instead of `Type.Any()`
|
|
- [ ] `src/sqlite/tables/edges.ts`: `AttributesSchema` uses `Type.Record(Type.String(), Type.Unknown())` instead of `Type.Any()`
|
|
- [ ] `deno check mod.ts src/graphs/mod.ts src/sqlite/mod.ts` passes with no errors
|
|
- [ ] No remaining `Type.Any()` calls in `src/` (verified via grep)
|
|
|
|
## References
|
|
|
|
- docs/architecture/metagraph-module.md — "Type.Unknown() is canonical"
|
|
- docs/architecture/decisions/012-node-edge-attributes-as-module-entries.md
|
|
|
|
## Notes
|
|
|
|
> To be filled by implementation agent
|
|
|
|
## Summary
|
|
|
|
> To be filled on completion |