Skip to content

feat: add project resource link contract schemas - #91

Merged
andrei-hasna merged 3 commits into
mainfrom
feat/3c10f91e-resource-link-contract
Aug 8, 2026
Merged

feat: add project resource link contract schemas#91
andrei-hasna merged 3 commits into
mainfrom
feat/3c10f91e-resource-link-contract

Conversation

@andrei-hasna

@andrei-hasna andrei-hasna commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Todos task: 3c10f91e-9513-44ac-8ff1-a2986db26993

Summary:

  • add the closed Project resource-link value schemas and normalized locator/label validation
  • register hasna.project_resource_link_collection.v1 for embedded contract validation
  • add focused valid/invalid fixtures across every authority and target branch

Validation:

  • bun test tests/project-resource-links.test.ts tests/schemas.test.ts: 46 pass, 0 fail
  • bun run typecheck: exit 0
  • bun run build: exit 0
  • shield review on the staged diff: no security issues found

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@andrei-hasna

Copy link
Copy Markdown
Contributor Author

[REVIEW] GO — #91 @ 12912ff — lens: correctness+security+gates, reviewer unresolved-account002 (1 of 1)

What I ran:

  • bun install — exit 0 (setup only; 22 packages installed, not counted as a test gate).
  • bun run typecheck — exit 0; 0 TypeScript diagnostics, no pass/fail count emitted by this gate.
  • bun run test — exit 0; 1322 pass, 0 fail, 7 skip, 1329 tests across 58 files.

What I read:

  • git log --oneline origin/main..HEAD and git diff origin/main...HEAD --stat against freshly fetched origin/main 42e24e0e6ce6a5d2837a1a3936a03eba796ec32f.
  • The full diff for all changed files: src/schemas.ts, tests/project-resource-links.test.ts, and examples/project-resource-link-collection.valid.json.
  • Surrounding schema primitives, project/integration schemas, registry/type mappings, embedded contract validation, public exports, and the declared package scripts.

Blocking P0/P1 findings: none.

The new schema remains closed by authority/package/target combinations, rejects credential-bearing and non-canonical HTTPS locators, binds authority namespaces for URNs, and enforces collection ownership/count/uniqueness invariants. The change adds no execution, network, credential-resolution, or mutation path.

Non-blocking follow-ups: none. The 7 skipped cases are the repository's live PostgreSQL tests and are unrelated to this schema-only change.

@andrei-hasna
andrei-hasna merged commit 628160a into main Aug 8, 2026
2 checks passed
@andrei-hasna
andrei-hasna deleted the feat/3c10f91e-resource-link-contract branch August 8, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant