GAP-008 — Guard manifest export drift¶
Status¶
Current status: Open.
Problem¶
The source manifest has an explicit FunctionsToExport list, while development/build behavior can also rely on public function discovery and merged module output. Without a guard, the manifest export list can drift from the public functions that should be exported.
Why this matters¶
A public function can be added but not exported, or a removed/renamed function can remain in the manifest. Either case causes user-visible behavior to diverge from source layout and documentation.
Current evidence¶
docs/Architecture.mdidentifiessrc/DLLPickle/as the module source andsrc/DLLPickle/DLLPickle.psd1as part of the platform-support contract.- The source tree uses a
Publicfolder convention, while the manifest export list remains an explicit contract.
Desired end state¶
The repository has a test that keeps FunctionsToExport aligned with the intended public function set, or it documents an intentional exception model.
Acceptance criteria¶
- [ ] Decide whether
FunctionsToExportshould exactly matchsrc/DLLPickle/Public/*.ps1function names. - [ ] Add a Pester test that compares the manifest export list to the intended public function list, or document any explicit exceptions.
- [ ] Update docs if public export behavior is part of the supported contract.
- [ ] Ensure the test runs in the regular unit/analyzer path.
- [ ] Update
docs/gaps/README.mdand this file when resolved or superseded.
Implementation notes for Codex¶
- Read the source manifest and public function folder before editing.
- Preserve intentional export decisions if any function is deliberately private despite location.
- Prefer a deterministic Pester test over generated manifest mutation.
- Keep the test compatible with PowerShell 7.4+ repository tooling.
- Do not mark this gap
resolvedunless export drift is guarded or intentionally documented.
Resolution notes¶
Pending.