Placeholder Hygiene
Scaffolding, stubs, mock data, debug bypasses, and placeholder credentials that survived to production — code that runs but wasn't meant to.
The scaffold-leakage layer: did the placeholder, stub, or debug hook get replaced before the code shipped?
In scope. Hardcoded admin/admin fallback credentials, mock data returned from a handler instead of a real query, debug routes or /debug/eval endpoints enabled in production, feature-flag defaults wrong for prod, TODO comments marking unimplemented security checks, debug-only auth bypasses (if (env === 'development') skipAuth()), placeholder strings ([INSERT_API_KEY], CHANGEME, your_api_key_here), console.log calls tracing sensitive data that were meant to be removed, if (false) / if (true) blocks, stub functions that return static data.
Not in scope. Deliberately incomplete but documented feature work — that's code-quality tech-debt. Feature fully missing by design — not a defect, a gap. References to things that don't resolve at all — that's reference-integrity.
Distinct because. The defect is scaffolding intended to be replaced was not. The code runs, and that's the problem. A pattern about "auth returns mock user when NODE_ENV is dev" is placeholder-hygiene. A pattern about "auth function has any return type" is code-quality.
Conceptual sub-structure. Debug / dev-only code in prod paths, stub / mock responses shipping real paths, placeholder strings / credentials, feature-flag defaults wrong for production.
Note on the name. Formerly implementation-completeness — renamed because "completeness" collides with "spec completeness" / "test coverage completeness." placeholder-hygiene names the specific defect: scaffolding residue.
Patterns in this taxon (56)
- low`.env.example` does not contain placeholder values in production templatesab-000272 · ai-slop-half-finished
- lowAd SDK configuration and Families certification complianceab-000476 · app-store-privacy-data
- criticalAll in-app links, buttons, and navigation paths lead to real contentab-000492 · app-store-review-blockers
- mediumAll third-party services are on production plansab-002188 · pre-launch
- highAnalytics debug mode is disabled in productionab-001713 · marketing-analytics
- infoApp does not have a template-generated appearanceab-000516 · app-store-review-blockers
- infoAt least one security middleware export is detectedab-000283 · ai-slop-security-theater
- lowConsole.log statements are cleaned upab-002170 · pre-launch
- mediumCORS is explicitly configured (not relying on framework defaults)ab-000282 · ai-slop-security-theater
- highCritical handlers are not empty or return-onlyab-000266 · ai-slop-half-finished
- highCSRF protection imported is actually appliedab-000280 · ai-slop-security-theater
- criticalDebug mode is disabled in productionab-002104 · pre-launch
- highEmail delivery is tested and workingab-002173 · pre-launch
- criticalEnvironment variables are production valuesab-002103 · pre-launch
- lowExplicit 501 Not Implemented responses are justifiedab-000269 · ai-slop-half-finished
- mediumFeature flags are environment-specificab-001266 · environment-security
- highHelmet security middleware imported is actually appliedab-000279 · ai-slop-security-theater
- infoImported security libraries are actually usedab-000287 · ai-slop-security-theater
- highLegal pages written in plain, readable languageab-001661 · legal-pages-compliance
- mediumMock libraries are imported only in test filesab-000299 · ai-slop-test-theater
- mediumMulti-modal input support is implemented when advertisedab-000333 · ai-ux-patterns
- highMutating routes validate input before processingab-000276 · ai-slop-security-theater
- lowNo "beta," "test," "preview," or pre-release language visible in the production buildab-000460 · app-store-policy-compliance
- infoNo "Coming Soon" buttons without backing implementationab-000274 · ai-slop-half-finished
- mediumNo `if (false)` / `if (true)` debug blocksab-000268 · ai-slop-half-finished
- mediumNo `throw new Error("not implemented")` in production codeab-000267 · ai-slop-half-finished
- highNo beta labels or unfinished UI indicatorsab-000491 · app-store-review-blockers
- highNo debug APIs or test endpoints in release buildab-001941 · mobile-store-readiness
- mediumNo debug routes active in productionab-000270 · ai-slop-half-finished
- infoNo default or test accounts in non-test codeab-002246 · saas-authentication
- lowNo default or weak passwords in config/docsab-001267 · environment-security
- highNo dev-only auth bypass patternsab-000265 · ai-slop-half-finished
- lowNo dev-only feature flags hardcoded to trueab-000271 · ai-slop-half-finished
- criticalNo fallback admin credentials in authentication codeab-000260 · ai-slop-half-finished
- lowNo hardcoded `process.env.NODE_ENV === 'development'` blocks with empty elseab-000273 · ai-slop-half-finished
- criticalNo hardcoded fake data returned from API handlersab-000255 · ai-slop-half-finished
- highNo hardcoded JSON fixture files loaded into handlersab-000258 · ai-slop-half-finished
- lowNo hardcoded localhost URLs in non-config source filesab-000264 · ai-slop-half-finished
- highNo hardcoded test users seeded at production startupab-000261 · ai-slop-half-finished
- mediumNo hardcoded user IDs in handler logicab-000262 · ai-slop-half-finished
- criticalNo in-memory data stores used as production databasesab-000256 · ai-slop-half-finished
- highNo mock libraries imported in production codeab-000257 · ai-slop-half-finished
- infoNo placeholder contentab-002550 · site-health-check
- criticalNo placeholder or lorem ipsum content in production pathsab-001729 · marketing-content-quality
- highNo placeholder or stub contentab-001004 · developer-documentation
- highNo placeholder text or lorem ipsum in UIab-000490 · app-store-review-blockers
- mediumNo stub return values in non-trivial handlersab-000259 · ai-slop-half-finished
- mediumNo TODO or FIXME comments in critical business logicab-000684 · code-maintainability
- mediumNo uninterpolated template variables in outputab-000263 · ai-slop-half-finished
- lowProduct descriptions are populated and meaningfulab-001116 · ecommerce-catalog
- highProduct IDs configured and match store console setupab-000401 · app-store-iap-subscriptions
- highRate limiting middleware imported is actually appliedab-000281 · ai-slop-security-theater
- highTest and seed data has been removedab-002176 · pre-launch
- highValidation runs before database writesab-000277 · ai-slop-security-theater
- criticalValidation schemas have at least one runtime useab-000275 · ai-slop-security-theater
- criticalValidation schemas have at least one runtime useab-000037 · ai-slop-hallucinations