Skip to content

feat: add partial SIDC decomposition - #21

Merged
the-Drunken-coder merged 2 commits into
mainfrom
codex/richer-sidc-decomposition
Jun 26, 2026
Merged

the-Drunken-coder merged 2 commits into
mainfrom
codex/richer-sidc-decomposition

Conversation

@the-Drunken-coder

@the-Drunken-coder the-Drunken-coder commented Jun 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Extend explainSidc with a curated/partial result union and explicit per-field coverage.
  • Return partial decomposition for renderable non-curated number SIDCs using milsymbol metadata plus the existing curated function-ID labels.
  • Document the new behavior and add focused tests for curated, partial, unsupported, invalid, and unknown-field cases.

Validation

  • npm test
  • npm pack --dry-run

Scope limits

  • Partial decomposition is limited to affiliation, symbol set, status, domain, echelon, and entity.
  • Entity labels are only provided when the function ID already appears in the curated fixture table; unknown function IDs are reported through unknownFields.
  • The change does not add a broad MIL-STD-2525 or APP-6 standards table and does not make standards-compliance claims beyond milsymbol renderability.

Greptile Summary

This PR expands SIDC explanation beyond the curated fixture set. The main changes are:

  • Partial decomposition for renderable non-curated number SIDCs.
  • Per-field coverage and unknownFields in explain results.
  • Tests for curated, partial, unsupported, invalid, and unknown-field cases.
  • README updates that describe the new explain behavior and scope limits.

Confidence Score: 5/5

The SIDC explanation paths exercised by the package contract behave as described.

No code issues were identified in the finalized review. Runtime validation showed the intended base-to-head behavior change for partial decomposition, unknown field reporting, invalid and unsupported handling, and the requested package validation commands completed successfully.

None.

T-Rex T-Rex Logs

What T-Rex did

  • The baseline behavior showed that the base implementation rejects non-curated renderable SIDCs with UNSUPPORTED_SIDC and the curated output has no fields or unknownFields.
  • After the change, the head implementation returns coverage=partial for the renderable non-curated infantry SIDC with known field coverage.
  • The system now reports unknownFields=["entity"] for an unknown function ID.
  • The system rejects unsupported SIDCs as UNSUPPORTED_SIDC.
  • The system rejects invalid input as INVALID_SIDC.
  • npm test and npm pack --dry-run pass.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (2): Last reviewed commit: "fix: tighten partial SIDC coverage" | Re-trigger Greptile

@coderabbitai

coderabbitai Bot commented Jun 25, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@the-Drunken-coder, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 3 minutes and 42 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: faeb64a5-36f5-4d21-87c2-efcd82523a65

📥 Commits

Reviewing files that changed from the base of the PR and between 3b6285b and b219a74.

📒 Files selected for processing (3)
  • README.md
  • src/index.ts
  • test/sidc-kit.test.mjs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/richer-sidc-decomposition

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

@the-Drunken-coder

Copy link
Copy Markdown
Owner Author

@codex review

@the-Drunken-coder

Copy link
Copy Markdown
Owner Author

@greptileai review

Comment thread src/index.ts Outdated
Comment thread src/index.ts Outdated
@the-Drunken-coder
the-Drunken-coder marked this pull request as ready for review June 25, 2026 20:06
@the-Drunken-coder
the-Drunken-coder merged commit fa6960f into main Jun 26, 2026
3 checks passed
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