2.4 KiB
2.4 KiB
Stage 99: Unknowns
Status: ⬜ Review Required Blocked By: None Unlocks: None (review throughout migration)
Objective
Track items the scanner couldn't categorize or that need human judgment.
Review Priority
| Priority | Meaning |
|---|---|
| 🔴 High | Blocks other work, needs immediate decision |
| 🟡 Medium | Should resolve before Documents stage |
| 🟢 Low | Can defer or skip with documentation |
Unknowns
{{#each UNKNOWNS}}
{{this.id}}: {{this.title}}
- File:
{{this.file}}:{{this.line}} - Priority: {{this.priority}}
- Category: {{this.category}}
Context
{{this.code}}
Why Unknown
{{this.reason}}
Options
{{#each this.options}} {{@index}}. {{this}} {{/each}}
Decision
- Reviewed
- Decision: _____________
- Implemented
{{/each}}
Common Unknown Categories
Third-Party Libraries That Throw
Libraries that throw exceptions need wrapper decisions:
// Option 1: Wrap at call site
const result = await wrapAsync(() => thirdPartyLib.doThing());
// Option 2: Create typed wrapper
const safeDoThing = wrapThirdParty(thirdPartyLib.doThing);
Complex Try/Catch Blocks
Nested or multi-catch blocks that can't be auto-converted:
// May need manual restructuring
try {
await step1();
await step2();
} catch (e) {
if (e instanceof TypeA) { ... }
else if (e instanceof TypeB) { ... }
else { throw e; }
}
Async Patterns
Unusual async patterns (Promise.race, Promise.allSettled with throws):
// May need Result-aware alternatives
const results = await Promise.all(items.map(processItem));
Domain-Specific Errors
Errors that don't map cleanly to taxonomy:
- Consider if they're really
ValidationErrorwith metadata - Consider if they're
InternalErrorwith descriptive message - Consider creating domain error extending
OutfitterError
Resolution Log
| ID | Decision | Rationale | Date |
|---|
Stack Feedback
Issues discovered that should be reported to outfitter-dev/outfitter:
{{#each STACK_FEEDBACK}}
- {{this.title}} — {{this.type}} {{/each}}
Use outfitter-stack:stack-feedback skill to create GitHub issues.
Completion Checklist
- All unknowns reviewed
- Decisions documented
- High-priority items resolved
- Stack feedback reported
- Remaining items documented for future
Notes
{{UNKNOWN_NOTES}}