319: MSSQL: extension skeleton, permanent corpora and dependencies #343
No reviewers
Labels
No labels
bug
chore
documentation
enhancement
feature
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
david/pi-extensions-and-skills!343
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/issue-319/mssql-extension-skeleton-permanent-corpora-and-dep"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
319: MSSQL: extension skeleton, permanent corpora and dependencies
Implements 319.
Generated in 2m 56s.
Review findings
Now apply edits.BSD sed; use simpler edits.# Review Findings — 319
Summary
I resolved the test-gate, engines, supply-chain README, corpus header, reject-corpus size and README path findings.
npm testnow runs the mssql tests: 1500 pass, 2 todo, 1 fail. The one failure is thescripts/local-install.test.mjshappy-path test, which was already failing before this change because of the macOS/private/varrealpath issue.Findings left unresolved:
package.json:25-area manifest finding and the root README finding remain. The newextensions/mssql/README.mdnow states that registration is deferred.test-datais out of scope for this pass.package-lock.jsonrisks wider changes.test.todoplaceholders: left as skeleton placeholders for the follow-up issue.Critical
High
npm testscript globsextensions/mssql/spike/*.test.mjsonly. The newextensions/mssql/test-data/*.test.mjs,extensions/mssql/env.test.tsandextensions/mssql/index.test.tsnever run in the repo's test gate, so the new regression corpora are unguarded in CI. Suggested fix: addextensions/mssql/test-data/*.test.mjs extensions/mssql/*.test.tsto thenode --testlist.extensions/postgres/, and postgres is listed in thepi.extensionsmanifest.extensions/mssql/index.tsis not in that list, so the extension would never load. This is harmless while the extension is a stub, but it is an unmet step if registration is in scope. Suggested fix: add"extensions/mssql/index.ts"topi.extensionsinpackage.jsononce tools exist, or state explicitly in the PR that registration is deferred.mssqlversion, licence and advisories and recording the result in the README.extensions/mssql/README.mdis only a placeholder. [COMPLIANCE RISK] This is a supply-chain check for a new database driver that pulls intedious,@azure/identity,jsonwebtokenand others. Suggested fix: record the version, licence (MIT),npm auditoutput and the date checked in the README.tedious@20requires node >=22 and several@azure/*packages require node >=22, while rootengines.nodestays>=20.19.0. The dependency can therefore be installed on a supported Node version where it will not work. Suggested fix: raiseengines.nodeto>=22, or pinmssqlandtediousto a release that supports Node 20 (tedious19).Medium
extensions/mssql/spike/corpus-*(corpus-accept.mjsis byte-identical). Two copies will drift. The header comments also still say "for the MSSQL read-only guard spike". Suggested fix: maketest-datathe single source and have the spike import from it, or document thatspike/is a frozen record. Update the headers to describe permanent regression data.@earendil-works/pi-coding-agenttransitive packages gained"peer": true, andpglost itspeerflag. This suggests it was regenerated with a different npm version or install mode. Suggested fix: regenerate the lockfile with the repo's standard npm version and confirm the diff is limited to themssqltree.mssqlor the newmssqldependency. Suggested fix: update them when the extension is registered, or note in the PR that this is deferred.Low
docs/IMPLEMENTATION_PLAN.mdreference is relative to the extension. The correct path isextensions/mssql/docs/IMPLEMENTATION_PLAN.md. Suggested fix: fix the path and add a short status line.test.todoplaceholders give no real coverage and report as green TODOs. Suggested fix: acceptable for a skeleton, but ensure the follow-up issue replaces them (the plan requires tests before code).Documentation
Updated files: