Exported Functions: ~50 functions (from nm analysis) Target Functions: ~300 functions needed for conformance CTS Build: Fails with link errors (undefined references)
vxVerifyGraph- Compiles graph for executionvxProcessGraph- Executes graph synchronouslyvxQueryGraph- Queries graph attributesvxWaitGraph- Waits for async graph completionvxScheduleGraph- Schedules graph for async executionvxIsGraphVerified- Checks if graph is verifiedvxReplicateNode- Replicates nodes for batch processing
vxQueryReference- Queries reference attributes including countvxReleaseReference- Generic reference releasevxRetainReference- Already exported but may need fixes
vxQueryContext- Queries context attributesvxSetContextAttribute- Sets context attributes
vxAllocateUserKernelId- Allocates user kernel IDvxAllocateUserKernelLibraryId- Allocates library IDvxRegisterUserStructWithName- Registers user structvxGetUserStructNameByEnum- Gets struct name from enumvxGetUserStructEnumByName- Gets struct enum from name
vxQueryArray- Queries array attributesvxMapArrayRange- Maps array for accessvxUnmapArrayRange- Unmaps array
vxRegisterLogCallback- Registers log callbackvxAddLogEntry- Adds log entryvxDirective- Sets directives
vxFormatImagePatchAddress2d- Formats image patch address
vxCopyScalar- Copies scalar data
Round 1: Reference Management (Foundation)
├─ vxQueryReference
├─ vxReleaseReference
└─ vxRetainReference (verify/fix)
Round 2: Context Operations (Foundation)
├─ vxQueryContext
└─ vxSetContextAttribute
Round 3: Graph Operations (Critical for CTS)
├─ vxVerifyGraph
├─ vxProcessGraph
├─ vxQueryGraph
├─ vxWaitGraph
├─ vxScheduleGraph
├─ vxIsGraphVerified
└─ vxReplicateNode
Round 4: User Kernel Support
├─ vxAllocateUserKernelId
├─ vxAllocateUserKernelLibraryId
├─ vxRegisterUserStructWithName
├─ vxGetUserStructNameByEnum
└─ vxGetUserStructEnumByName
Round 5: Array Operations
├─ vxQueryArray
├─ vxMapArrayRange
└─ vxUnmapArrayRange
Round 6: Logging & Debugging
├─ vxRegisterLogCallback
├─ vxAddLogEntry
└─ vxDirective
Round 7: Image & Scalar Utilities
├─ vxFormatImagePatchAddress2d
└─ vxCopyScalar
Parallel Agents:
- Agent 1: Reference Management (Round 1)
- Agent 2: Context Operations (Round 2)
Sequential Dependency: Requires Phase 1
- Agent 3: Graph Operations (Round 3)
Parallel Agents:
- Agent 4: User Kernel Support (Round 4)
- Agent 5: Array Operations (Round 5)
Parallel Agents:
- Agent 6: Logging & Debugging (Round 6)
- Agent 7: Image & Scalar Utilities (Round 7)
- Agent 8: Build CTS, fix any remaining issues, run tests
- ✅ CTS builds without link errors
- ✅ All SmokeTest tests pass (14/14)
- ✅ All SmokeTestBase tests pass (7/7)
- ✅ All GraphBase tests pass (14/14)
- ✅ At least 50% of Vision Feature Set tests pass
- ✅ No regressions in existing integration tests
Blockers:
- Graph execution model needs proper topological sort
- Reference counting must be consistent across all types
- Async graph operations may need threading support
Mitigation:
- Study existing topological sort implementation
- Use centralized reference counting registry
- Use std::sync primitives for thread safety
Each agent works in isolation with git worktrees:
- If a round fails, revert that worktree
- Other rounds remain unaffected
- Integration happens only after all rounds pass local tests