Skip to content

Keep HTTP investigations as secret-free task context with bounded difference packets - #1

Merged
unbraind merged 14 commits into
mainfrom
feat/http
Oct 29, 2026
Merged

unbraind merged 14 commits into
mainfrom
feat/http

Conversation

@unbraind

@unbraind unbraind commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Keep explicit HTTP investigations as durable, secret-free context on native pm tasks: declared requests, timestamped observations, bounded response contracts, missing evidence and token-budgeted difference packets. CLI commands use host TOON/JSON; observations, compare, differencePacket and missingEvidence are exported for in-process consumers.

Requests bind environment-name credential references to destination and byte/header/time boundaries. Mutations require separate attributed review and uncertain outcomes are never automatically retried. Guarded recovery fingerprints every native comment without prefix/author exemptions, preserves the caller revision and reserves recording capacity before effects. Legacy weak-fingerprint guarded plans stay readable and require a new explicit operation before sending.

The shared HTTP/HTTPS transport now settles exactly once across ordinary completion, errors, aborts, premature closes and protocol handoffs. A 101 arriving through either the upgrade event or ordinary response callback terminates conservatively and closes its socket. Bun's structured UnrequestedUpgrade refusal is normalized by code without reading its raw message. Unsupported protocol headers and payloads never enter observations. Available timing phases survive uncertainty; cancellation leaves no partial observation and the send lease is released.

Regression evidence includes 28 real wire/method upgrade variants, informational and incomplete responses, ordinary streaming controls, cancellation, verified HTTPS, reviewed mutation replay, socket/lease cleanup, both native renderers without git and packed npm/npx/bun/bunx consumers. Reverting capture to the prior head fails the deadline assertion; removing request/socket destruction fails the socket-release assertion. Both restored function-only proofs pass. Existing tests and thresholds are preserved.

Validation at e80d0e8: fresh-home npm release:check 12/12 and Bun release:check 12/12; each passes 139/139 tests, 2/2 packed npm/npx/bun/bunx journeys and 100% statements/branches/functions/lines across all 20 source/tooling files (1413 statements/lines, 109 functions, 914 branches). ESLint clean, duplication 0%, all 94 declarations documented, production audit 0 vulnerabilities, package allowlist 47 files, generated changelog and archive-publish path/attestation contracts pass. Tracker-linked lifecycle tests pass 5/5; focused packed consumers pass 2/2; new behavioral revert proofs pass 2/2. Strict tracker health passes 10/10, inherited histories remain append-only and own claims are released. Items remain unclosed for orchestrator verification.

Historical ten-request proof: 10 observations, 10 calls (2 public unauthenticated, 8 local fixtures), 103388 raw body bytes / 25847 estimated tokens versus 817 packet tokens, 90 header redactions and 65151 ms including SDK setup/recording. No credentials were sent; scratch data was deleted.

Known SDK boundaries remain explicit: #1576 lacks item-level expected-revision preconditions and #1620 leaves ordinary native writers outside transaction exclusion, so a read-to-send window remains. #1399 blocks backend-owned conditional remote writes; remote sends/writes refuse before effects. Read APIs accept injected remote clients. Releases remain disabled pending maintainer approval.

Tracker: epic, safety and transport, concurrency and admission, SDK follow-up. Companion pm-cli-website-7u0d is referenced in the epic; its tracker was read only.

Final handoff commit 4c96b31 changes only the safety tracker item and append-only history. Implementation and packaged files remain identical to the source certified at e80d0e8. Identity, generated changelog and strict tracker health pass again. Exact-head CI remains pending; neutral, skipped or unavailable external reviews supply no approval.

@sourcery-ai

sourcery-ai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Sorry @unbraind, your pull request is larger than the review limit of 150,000 diff characters

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 6e20c07c-c6b3-4654-8ad2-a6c7d737df3b
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread test/http.test.ts Fixed
@unbraind

Copy link
Copy Markdown
Owner Author

Orchestrator note: the pipeline's private-data scan matched one added line, test/tooling.test.ts: the synthetic fixture string '… docs/home/example; public/Users/guide'. It tests the package's own path heuristics and contains no real path, account or data, so it is a false positive of the /Users/ pattern. The code review verdict on this head was MERGE, so this PR is merged on green checks.

@unbraind
unbraind merged commit 3969f89 into main Oct 29, 2026
7 checks passed
@unbraind
unbraind deleted the feat/http branch October 29, 2026 12:53
Comment thread test/http.test.ts Dismissed
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.

2 participants