docs(api): inventory and document non-conflicting TypeScript API - #86
Draft
seonghobae wants to merge 13 commits into
Draft
docs(api): inventory and document non-conflicting TypeScript API#86seonghobae wants to merge 13 commits into
seonghobae wants to merge 13 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Advance #82 with a deterministic repository-wide TypeScript export inventory plus a non-conflicting documentation slice. This branch is intentionally Draft because
src/index.tsandsrc/worker.tsremain active source surfaces in #83/#71; it does not race those branches or pretend the repository-wide documentation requirement is complete.Exact source identity
mainat live tip9adb784902cae19a150146a8fadd6a0491f67814, revalidated immediately before this metadata update.docs/rate-limit-public-api.d6194f5407a33e0db0d556669c6df9d30a8c63f1.Implemented on this branch
Runtime behavior is unchanged. The branch adds or improves beginner-readable public JSDoc on non-conflicting credential-boundary modules:
src/rate-limit.ts: environment/decision/error contracts, trusted client identity, hashed bucket identity, distributed check, Durable Object constructor/methods, cleanup semantics;src/entrypoint.ts: runtime environment, bounded exchange request, exact GitHub origin trust, bounded OIDC bearer envelope, streamed JSON byte boundary, default Worker/fetch contract;src/runtime-entrypoint.ts: deployment environment and/ready-owning Worker wrapper;src/outbound-fetch-policy.ts: fetch host/callable contracts, destination/request allowlists, fail-closed redirect/response-size/timeout behavior, installation/tamper detection, test-only reset;src/oidc-replay.ts: replay environment/decision/errors, hashedjtiobject identity, atomic claim, Durable Object constructor/fetch/alarm semantics.test/rate-limit-public-api-docs.test.tsnow recursively discovers every ownedsrc/**/*.tsfile using the filesystem and parses source text with the TypeScript compiler API without importing or executing production modules. It inventories direct exported interfaces/types/classes/functions/enums/modules/variables and default exports, requires meaningful adjacent JSDoc, requires@param/@returnson discovered callable exports, and permits named re-exports only when a single documented original exists (or the re-export itself is documented). Targeted assertions retain security/trust semantics for the credential-boundary modules instead of accepting label-only comments.Test-first lineage
The slice was developed incrementally: each newly covered module was first added to the static documentation contract while its public declarations were still undocumented, followed by a comment-only source remediation.
d6194f5407a33e0db0d556669c6df9d30a8c63f1then replaces the narrow marker-only inventory with the recursive TypeScript AST inventory required by #82. The repository-wide inventory is intentionally capable of exposing remaining active-file gaps; current CI evidence must determine the exact remaining set rather than this body asserting GREEN prematurely.Deliberately deferred, not waived
src/index.tsandsrc/worker.tsdocumentation: active in fix(security): claim verified OIDC replay before token mint #83/fix(security): bind workflow source and document MSA boundaries #71, so this branch will not race them.src/runtime-readiness.ts: already carries substantial public JSDoc on protected main and is also part of fix(security): bind workflow source and document MSA boundaries #71's active architecture/runtime work; it is inventoried read-only by the recursive gate.docs/TEST_STRATEGY.md,CLAUDE.md, CHANGELOG) and any canonical architecture wording that overlaps fix(security): bind workflow source and document MSA boundaries #71/fix(review): authorize private target PR lookup with Noema App #85 are deferred until those active branches integrate.Acceptance
Before leaving Draft, refetch unchanged exact head and independently resolved live base; resolve every inventory gap after its active writer lease clears; require exact-head typecheck/tests/100% owned production coverage/security/reviewer gates, zero valid unresolved findings, and actual Noema governance including qualifying independent approval where required. Queued/status/model evidence is not merge authority.
Related: #82, #71, #76, #83, #85