Skip to content

Addressing PR comments#12

Merged
chitcommit merged 8 commits intomainfrom
copilot/sub-pr-10
Mar 4, 2026
Merged

Addressing PR comments#12
chitcommit merged 8 commits intomainfrom
copilot/sub-pr-10

Conversation

Copy link
Contributor

Copilot AI commented Mar 4, 2026


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

chitcommit and others added 3 commits March 3, 2026 17:17
Lane 1 (Testing): Add vitest infrastructure with MCP test cases
  covering JSON-RPC protocol, tool success/error paths, and defensive
  parsing.

Lane 2 (Governance): Add GitHub Actions CI/CD (ci.yml, deploy-worker,
  governance gates), org governance scripts (audit, enforce, remediate),
  ISSUE_TEMPLATE, release.yml, and governance-baseline templates.

Lane 3 (Security): Add .gitleaks.toml for secret scanning, security
  docs (access broker runbook, secret rotation checklist, scan report),
  .gitignore hardening.

Lane 4 (Code + UI): CORS OPTIONS + credentials support, MCP server
  expanded from 6 to 28 tools across 8 domains, integrations and
  validators updates, UI disputes widget and API client fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- package.json: remove trailing space on kv:seed script line
- ci.yml: add npm test step, fix secret allowlist to catch bracket
  notation (secrets['NAME']) in addition to dot notation
- reusable-governance-gates.yml: same bracket notation fix
- chittycompliance-dispatch.sh: replace string interpolation with
  jq -nc for all JSON payloads to prevent injection
- org-governance-adversarial-review.sh: add defensive // [] for
  missingFiles and missingTriggers jq expressions
- connect.ts: proper AuthVariables typing instead of @ts-expect-error
- integrations.ts: normalize KV cache key with encodeURIComponent
- wrangler.toml: default PLAID_ENV to sandbox, production override
  in [env.production.vars]
- org-governance-pr-integration-loop.sh: add author verification
  against governance automation allowlist before auto-approve
- .gitignore: exclude timestamped governance report artifacts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…fety, and MCP tests

Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix complete 4-lane remediation fix: plug error info leakage, remove @ts-expect-error hacks, add MCP test suite Mar 4, 2026
Base automatically changed from fix/remediation-4lanes to main March 4, 2026 03:55
@chitcommit
Copy link
Contributor

@copilot The job failed due to missing modules referenced in src/index.ts: './lib/beacon', './routes/context', and './routes/ledger'. The TypeScript compiler cannot find these files or their type declarations. The attempted fetch for src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts also failed, confirming they are absent in the repository at commit a59b4f2.

Solution:

  1. Ensure the files src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts exist in the correct paths.
  2. If they do exist but are named differently or located elsewhere, update the import paths in src/index.ts accordingly.
  3. If these modules should be new files, you can create them as stubs to resolve compilation errors. For example:

src/lib/beacon.ts

export function sendBeacon(env: any) {
  // Implementation here
}

src/routes/context.ts

export const contextRoutes = {
  // Implementation here
};

src/routes/ledger.ts

export const ledgerRoutes = {
  // Implementation here
};

Add the real logic as needed, but placeholders like the above will unblock the build.

Summary: Restore or correctly create and reference src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts to resolve the failed job.

Copy link
Contributor Author

Copilot AI commented Mar 4, 2026

@chitcommit The model claude-sonnet-4.6 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 51e98b27-5bae-41de-acd6-93dd1bc2536a

@chitcommit
Copy link
Contributor

@codex[agent] The job failed due to missing modules referenced in src/index.ts: './lib/beacon', './routes/context', and './routes/ledger'. The TypeScript compiler cannot find these files or their type declarations. The attempted fetch for src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts also failed, confirming they are absent in the repository at commit a59b4f2.

Solution:

  1. Ensure the files src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts exist in the correct paths.
  2. If they do exist but are named differently or located elsewhere, update the import paths in src/index.ts accordingly.
  3. If these modules should be new files, you can create them as stubs to resolve compilation errors. For example:

src/lib/beacon.ts

export function sendBeacon(env: any) {
  // Implementation here
}

src/routes/context.ts

export const contextRoutes = {
  // Implementation here
};

src/routes/ledger.ts

export const ledgerRoutes = {
  // Implementation here
};

Add the real logic as needed, but placeholders like the above will unblock the build.

Summary: Restore or correctly create and reference src/lib/beacon.ts, src/routes/context.ts, and src/routes/ledger.ts to resolve the failed job.

Copilot AI review requested due to automatic review settings March 4, 2026 04:09
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

  1. @coderabbitai review
  2. @copilot review
  3. @claude review
  4. @codex review
    Adversarial review request: evaluate security, policy bypass paths, regression risk, and merge-gating bypass attempts.

@chitcommit chitcommit marked this pull request as ready for review March 4, 2026 04:11
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

  1. @coderabbitai review
  2. @copilot review
  3. @codex review
  4. @claude review
    Adversarial review request: evaluate security, policy bypass paths, regression risk, and merge-gating bypass attempts.

@chitcommit chitcommit enabled auto-merge (squash) March 4, 2026 04:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens error handling to avoid leaking upstream/internal error details, removes TypeScript suppression hacks by properly typing Hono route variables, and introduces an initial Vitest MCP test suite to exercise JSON-RPC/MCP behaviors.

Changes:

  • Removes passWithNoTests from Vitest config so missing tests fail the run.
  • Adds tests/mcp.test.ts covering JSON-RPC 2.0 behaviors, tool listing, and basic success/error paths.
  • Updates src/routes/meta.ts to use typed auth variables and replaces raw error string responses with logged errors + generic messages.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
vitest.config.ts Makes the test run fail when no tests are found.
tests/mcp.test.ts Adds MCP JSON-RPC conformance and tool-path tests with mocked DB/env bindings.
src/routes/meta.ts Improves typing for authenticated routes and reduces error detail exposure in responses.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chitcommit
Copy link
Contributor

chitcommit commented Mar 4, 2026

@codex[agent] apply changes based on the comments in this thread

@Codex
Copy link
Contributor

Codex AI commented Mar 4, 2026

@copilot The job failed due to missing modules referenced in src/index.ts: './lib/beacon', './routes/context', and './routes/ledger'. The TypeScript compiler cannot find these files ...

Addressed in eab1aa2; src/lib/beacon.ts plus src/routes/context.ts and src/routes/ledger.ts are present on the branch, so imports resolve now.

@codex[agent] The job failed due to missing modules referenced in src/index.ts: './lib/beacon', './routes/context', and './routes/ledger'. The TypeScript compiler cannot find these files or their type...

Fixed in eab1aa2; the missing beacon/context/ledger modules are present in src now, so the imports in src/index.ts compile cleanly.

@Codex Codex AI changed the title fix: plug error info leakage, remove @ts-expect-error hacks, add MCP test suite Addressing PR comments Mar 4, 2026
…ame GET test

Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>
auto-merge was automatically disabled March 4, 2026 04:18

Head branch was pushed to by a user without write access

Copy link
Contributor Author

Copilot AI commented Mar 4, 2026

@codex[agent] apply changes based on the comments in this thread

Applied all three changes from the review thread in b49925d:

  1. mcpAuthMiddleware wired into buildApp() — same order as production; dev bypass (ENVIRONMENT: 'test') auto-sets userId/scopes so all 15 tests pass.
  2. Empty-body test fixedpost({}) replaced with postRaw('') (new helper) which sends a true empty string. Also fixed mcp.ts to wrap req.json() in try/catch and return a -32700 Parse error (400) instead of propagating a 500.
  3. GET test renamed — "GET / returns service health info" → "GET /mcp returns service health info".

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

  1. @coderabbitai review
  2. @copilot review
  3. @codex review
  4. @claude review
    Adversarial review request: evaluate security, policy bypass paths, regression risk, and merge-gating bypass attempts.

@chitcommit chitcommit enabled auto-merge (squash) March 4, 2026 04:20
@chatgpt-codex-connector
Copy link

Summary

  • Wired mcpAuthMiddleware into the MCP test harness in buildApp() (for both /mcp and /mcp/*) so tests run with the same auth-variable assumptions (userId/scopes) as production route wiring. Also added a postRaw() helper to send truly empty request bodies when needed. tests/mcp.test.tsL44-L76
  • Updated the “completely empty body” test to send an actual empty body ('') and assert a JSON-RPC parse-error shape (jsonrpc: "2.0", id: null, error code -32700) instead of sending {}. tests/mcp.test.tsL233-L243
  • Renamed the GET test description to match the exercised endpoint: GET /mcp returns service health info. tests/mcp.test.tsL259-L266
  • Added defensive JSON parsing in the MCP POST handler so malformed/empty JSON now returns a structured JSON-RPC parse error (-32700, HTTP 400) rather than surfacing as an unhandled 500. src/routes/mcp.tsL193-L208

Testing

  • npm test -- tests/mcp.test.ts
  • npm run typecheck
  • curl -I https://www.jsonrpc.org/specification

I also committed these changes (af91bf6) and created the follow-up PR via the make_pr tool.

View task →

…pty body (#15)

* Address MCP review feedback in test harness and parsing

* Initial plan (#16)

Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>

* Resolve MCP merge conflicts while preserving JSON-RPC parse safeguards (#17)

* Initial plan

* chore: resolve mcp merge conflicts

---------

Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>

---------

Co-authored-by: Codex <242516109+Codex@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 4, 2026 04:35
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

  1. @coderabbitai review
  2. @copilot review
  3. @codex review
  4. @claude review
    Adversarial review request: evaluate security, policy bypass paths, regression risk, and merge-gating bypass attempts.

@chitcommit
Copy link
Contributor

@codex[agent] apply changes based on the comments in this thread

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

  1. @coderabbitai review
  2. @copilot review
  3. @codex review
  4. @claude review
    Adversarial review request: evaluate security, policy bypass paths, regression risk, and merge-gating bypass attempts.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

@chatgpt-codex-connector
Copy link

Summary

  • I reviewed the PR-thread requests and found they are already implemented on the current branch, so no additional code changes were needed:
  • The previously missing module files referenced in the thread exist in the repository (src/lib/beacon.ts, src/routes/context.ts, src/routes/ledger.ts). src/lib/beacon.tsL1-L1 src/routes/context.tsL1-L1 src/routes/ledger.tsL1-L1
  • Because there were no new modifications to commit, I did not create a commit or call make_pr (per your workflow constraints).

Testing

  • npm test -- tests/mcp.test.ts
  • npm run typecheck
  • curl -I https://www.jsonrpc.org/specification

View task →

@chitcommit
Copy link
Contributor

@codex[agent] apply changes based on the comments in this thread

@Codex
Copy link
Contributor

Codex AI commented Mar 4, 2026

@codex[agent] apply changes based on the comments in this thread

Missing beacon/context/ledger modules are present on the branch and typecheck/test clean with 73b5254.

@chitcommit chitcommit merged commit 2605799 into main Mar 4, 2026
11 of 12 checks passed
@chitcommit chitcommit deleted the copilot/sub-pr-10 branch March 4, 2026 04:41
@Codex Codex AI restored the copilot/sub-pr-10 branch March 4, 2026 04:41
Copilot stopped work on behalf of chitcommit due to an error March 4, 2026 04:41
chitcommit added a commit that referenced this pull request Mar 4, 2026
* refactor: split bridge.ts into domain-specific route modules

Break the 880-line monolith into src/routes/bridge/ with 9 domain
files (ledger, credentials, finance, plaid, mercury, books, assets,
scrape, status) and a barrel index. No behavior changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(auth): add in-app token management and chittyauth-first mcp auth (#6)

* fix: complete 4-lane remediation (#10)

* fix: complete 4-lane remediation — tests, governance, security, CORS

Lane 1 (Testing): Add vitest infrastructure with MCP test cases
  covering JSON-RPC protocol, tool success/error paths, and defensive
  parsing.

Lane 2 (Governance): Add GitHub Actions CI/CD (ci.yml, deploy-worker,
  governance gates), org governance scripts (audit, enforce, remediate),
  ISSUE_TEMPLATE, release.yml, and governance-baseline templates.

Lane 3 (Security): Add .gitleaks.toml for secret scanning, security
  docs (access broker runbook, secret rotation checklist, scan report),
  .gitignore hardening.

Lane 4 (Code + UI): CORS OPTIONS + credentials support, MCP server
  expanded from 6 to 28 tools across 8 domains, integrations and
  validators updates, UI disputes widget and API client fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address PR review feedback across 10 files

- package.json: remove trailing space on kv:seed script line
- ci.yml: add npm test step, fix secret allowlist to catch bracket
  notation (secrets['NAME']) in addition to dot notation
- reusable-governance-gates.yml: same bracket notation fix
- chittycompliance-dispatch.sh: replace string interpolation with
  jq -nc for all JSON payloads to prevent injection
- org-governance-adversarial-review.sh: add defensive // [] for
  missingFiles and missingTriggers jq expressions
- connect.ts: proper AuthVariables typing instead of @ts-expect-error
- integrations.ts: normalize KV cache key with encodeURIComponent
- wrangler.toml: default PLAID_ENV to sandbox, production override
  in [env.production.vars]
- org-governance-pr-integration-loop.sh: add author verification
  against governance automation allowlist before auto-approve
- .gitignore: exclude timestamped governance report artifacts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(backend): add missing beacon, context, and ledger modules

These three files were present locally but missed during the initial
push, causing TypeScript compilation errors in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(ci): allow vitest to pass with no test files

Add passWithNoTests to vitest config so CI doesn't fail when the tests
directory hasn't been populated yet.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(scripts): use grep -F for literal bot author matching

The [bot] suffix in author names was being interpreted as a regex
character class. Use -F flag for fixed-string matching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: add CodeQL code scanning workflow

Required by org-level ruleset for branch protection on main.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Set up GitHub Copilot coding agent instructions (#14)

* Initial plan

* feat: add .github/copilot-instructions.md with repository-specific Copilot guidance

Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>

* Addressing PR comments (#12)

* fix: complete 4-lane remediation — tests, governance, security, CORS

Lane 1 (Testing): Add vitest infrastructure with MCP test cases
  covering JSON-RPC protocol, tool success/error paths, and defensive
  parsing.

Lane 2 (Governance): Add GitHub Actions CI/CD (ci.yml, deploy-worker,
  governance gates), org governance scripts (audit, enforce, remediate),
  ISSUE_TEMPLATE, release.yml, and governance-baseline templates.

Lane 3 (Security): Add .gitleaks.toml for secret scanning, security
  docs (access broker runbook, secret rotation checklist, scan report),
  .gitignore hardening.

Lane 4 (Code + UI): CORS OPTIONS + credentials support, MCP server
  expanded from 6 to 28 tools across 8 domains, integrations and
  validators updates, UI disputes widget and API client fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address PR review feedback across 10 files

- package.json: remove trailing space on kv:seed script line
- ci.yml: add npm test step, fix secret allowlist to catch bracket
  notation (secrets['NAME']) in addition to dot notation
- reusable-governance-gates.yml: same bracket notation fix
- chittycompliance-dispatch.sh: replace string interpolation with
  jq -nc for all JSON payloads to prevent injection
- org-governance-adversarial-review.sh: add defensive // [] for
  missingFiles and missingTriggers jq expressions
- connect.ts: proper AuthVariables typing instead of @ts-expect-error
- integrations.ts: normalize KV cache key with encodeURIComponent
- wrangler.toml: default PLAID_ENV to sandbox, production override
  in [env.production.vars]
- org-governance-pr-integration-loop.sh: add author verification
  against governance automation allowlist before auto-approve
- .gitignore: exclude timestamped governance report artifacts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Initial plan

* fix: address unresolved review comments — error info leakage, type safety, and MCP tests

Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>

* fix: wire mcpAuthMiddleware in tests, fix empty-body parse error, rename GET test

Co-authored-by: chitcommit <208086304+chitcommit@users.noreply.github.com>

---------

Co-authored-by: @chitcommit <208086304+chitcommit@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
@chatgpt-codex-connector
Copy link

Summary

  • Updated MCP test harness typing to match production route/middleware expectations by using Hono<{ Bindings: Env; Variables: AuthVariables }> in buildApp() and the inline non-JSON test app. This keeps middleware/route typing consistent and type-safe. tests/mcp.test.tsL45-L52 tests/mcp.test.tsL247-L252
  • Strengthened the handles non-JSON body test to assert the intended JSON-RPC parse-error contract (HTTP 400, jsonrpc: "2.0", id: null, error.code: -32700) instead of only checking >= 400. tests/mcp.test.tsL247-L264
  • Hardened MCP POST parsing by reading request JSON into unknown, adding explicit guards for null/non-object/array payloads, and returning JSON-RPC -32600 Invalid Request (HTTP 400) for invalid request shapes before accessing fields. src/routes/mcp.tsL193-L214
  • Committed these follow-up changes on the current branch (1b79906) and created a new PR message via the make_pr tool as requested.

Testing

  • npm test -- tests/mcp.test.ts
  • npm run typecheck
  • curl -I https://www.jsonrpc.org/specification

View task →

chitcommit added a commit that referenced this pull request Mar 4, 2026
* refactor: split bridge.ts into domain-specific route modules

Break the 880-line monolith into src/routes/bridge/ with 9 domain
files (ledger, credentials, finance, plaid, mercury, books, assets,
scrape, status) and a barrel index. No behavior changes.



* feat(auth): add in-app token management and chittyauth-first mcp auth (#6)

* fix: complete 4-lane remediation (#10)

* fix: complete 4-lane remediation — tests, governance, security, CORS

Lane 1 (Testing): Add vitest infrastructure with MCP test cases
  covering JSON-RPC protocol, tool success/error paths, and defensive
  parsing.

Lane 2 (Governance): Add GitHub Actions CI/CD (ci.yml, deploy-worker,
  governance gates), org governance scripts (audit, enforce, remediate),
  ISSUE_TEMPLATE, release.yml, and governance-baseline templates.

Lane 3 (Security): Add .gitleaks.toml for secret scanning, security
  docs (access broker runbook, secret rotation checklist, scan report),
  .gitignore hardening.

Lane 4 (Code + UI): CORS OPTIONS + credentials support, MCP server
  expanded from 6 to 28 tools across 8 domains, integrations and
  validators updates, UI disputes widget and API client fixes.



* fix: address PR review feedback across 10 files

- package.json: remove trailing space on kv:seed script line
- ci.yml: add npm test step, fix secret allowlist to catch bracket
  notation (secrets['NAME']) in addition to dot notation
- reusable-governance-gates.yml: same bracket notation fix
- chittycompliance-dispatch.sh: replace string interpolation with
  jq -nc for all JSON payloads to prevent injection
- org-governance-adversarial-review.sh: add defensive // [] for
  missingFiles and missingTriggers jq expressions
- connect.ts: proper AuthVariables typing instead of @ts-expect-error
- integrations.ts: normalize KV cache key with encodeURIComponent
- wrangler.toml: default PLAID_ENV to sandbox, production override
  in [env.production.vars]
- org-governance-pr-integration-loop.sh: add author verification
  against governance automation allowlist before auto-approve
- .gitignore: exclude timestamped governance report artifacts



* fix(backend): add missing beacon, context, and ledger modules

These three files were present locally but missed during the initial
push, causing TypeScript compilation errors in CI.



* fix(ci): allow vitest to pass with no test files

Add passWithNoTests to vitest config so CI doesn't fail when the tests
directory hasn't been populated yet.



* fix(scripts): use grep -F for literal bot author matching

The [bot] suffix in author names was being interpreted as a regex
character class. Use -F flag for fixed-string matching.



* ci: add CodeQL code scanning workflow

Required by org-level ruleset for branch protection on main.



---------



* Set up GitHub Copilot coding agent instructions (#14)

* Initial plan

* feat: add .github/copilot-instructions.md with repository-specific Copilot guidance



---------




* Addressing PR comments (#12)

* fix: complete 4-lane remediation — tests, governance, security, CORS

Lane 1 (Testing): Add vitest infrastructure with MCP test cases
  covering JSON-RPC protocol, tool success/error paths, and defensive
  parsing.

Lane 2 (Governance): Add GitHub Actions CI/CD (ci.yml, deploy-worker,
  governance gates), org governance scripts (audit, enforce, remediate),
  ISSUE_TEMPLATE, release.yml, and governance-baseline templates.

Lane 3 (Security): Add .gitleaks.toml for secret scanning, security
  docs (access broker runbook, secret rotation checklist, scan report),
  .gitignore hardening.

Lane 4 (Code + UI): CORS OPTIONS + credentials support, MCP server
  expanded from 6 to 28 tools across 8 domains, integrations and
  validators updates, UI disputes widget and API client fixes.



* fix: address PR review feedback across 10 files

- package.json: remove trailing space on kv:seed script line
- ci.yml: add npm test step, fix secret allowlist to catch bracket
  notation (secrets['NAME']) in addition to dot notation
- reusable-governance-gates.yml: same bracket notation fix
- chittycompliance-dispatch.sh: replace string interpolation with
  jq -nc for all JSON payloads to prevent injection
- org-governance-adversarial-review.sh: add defensive // [] for
  missingFiles and missingTriggers jq expressions
- connect.ts: proper AuthVariables typing instead of @ts-expect-error
- integrations.ts: normalize KV cache key with encodeURIComponent
- wrangler.toml: default PLAID_ENV to sandbox, production override
  in [env.production.vars]
- org-governance-pr-integration-loop.sh: add author verification
  against governance automation allowlist before auto-approve
- .gitignore: exclude timestamped governance report artifacts



* Initial plan

* fix: address unresolved review comments — error info leakage, type safety, and MCP tests



* fix: wire mcpAuthMiddleware in tests, fix empty-body parse error, rename GET test



---------





---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
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.

4 participants