Skip to content

Pre-Completion Checklist

When to Use

Use before declaring a Type B task complete — documentation finished, audit signed off, review approved. If any item was skipped because of context-saving instincts, the work is incomplete.

Decision

Checklist item Why
All manifest/config files read in full Wiring, dependencies, permissions live here
All entry-point files read in full Bootstrap, hooks, lifecycle handlers can be anywhere in the file
Every source file in the unit read in full Classes/modules are contracts; partial = missed methods
Parent classes, traits, mixins, interfaces read Inherited behavior isn't visible in the child file
Annotation/decorator metadata reviewed Docblocks carry framework-relevant info grep truncates
Cross-reference Grep ran AFTER full reads "Who uses this?" only after you know what "this" is

Pattern

Type B task complete check:

1. Manifests & configs — did you read every one in full?
   - package.json / composer.json / *.info.yml
   - services.yml, routing.yml, permissions.yml
   - *.config.ts, tsconfig.json, etc.

2. Entry points — did you read every one in full?
   - *.module, main.py, index.js, lib.rs
   - install/uninstall hooks, lifecycle files

3. Source files — did you read every one in full?
   - All classes/components in src/ or lib/
   - All stores, reducers, handlers, plugins

4. Inheritance chain — did you follow it?
   - For each source file, which parents/traits/interfaces did you also read?

5. Annotations/decorators — did you check them?
   - Plugin attributes, ORM mappings, validation constraints

6. Cross-references — did you grep AFTER the above?
   - Not a substitute for reading, but a verification of relationships

Common Mistakes

  • Wrong: Declaring an audit complete because you read "the main files" → Right: Run the checklist; audits fail when inherited methods or wired services are missed
  • Wrong: Skipping config files "because they're just YAML" → Right: YAML is where wiring lives; half of security findings come from permission and service configs
  • Wrong: Treating the inheritance chain as "too deep, not worth it" → Right: Read at least one level of parents; abstract methods and trait behavior cascade
  • Wrong: Running grep BEFORE full reads to "save time" → Right: Grep is a verification tool for Type B, not a discovery tool

See Also