Fix spelling - #2
Merged
Merged
Conversation
LeStarch
referenced
this pull request
in LeStarch/fprime
Aug 29, 2019
Moving the cosmos changes that should've been in devel-cosmos branch to the devel-cosmos branch
LeStarch
added a commit
that referenced
this pull request
Sep 14, 2020
Prerelease/release 1.5 Minor GDS Downlinking Bugfixes
LeStarch
pushed a commit
that referenced
this pull request
Jul 6, 2021
* Create tutorial-support.yml * Update tutorial-support.yml GpsApp tutorial to be pulled for build test and submodules to be pulled recursively * Implementation of tutorial workflow * typo in repo address * Added missing github action file * Changed workflow path * Changed dir paths * Work around for workflow * work around * troubleshooting * troubleshoot * troubleshoot * Performance update * Path correction * troubleshoot * Dockerfile correction * path change * path change * path fix * path fix * path fix * path fix * paht fix * Revert to changes * Completed workflow for tutorial support * troubleshoot * Build path error * Optimization of workflow * Path fix * Path fix * Path fix #1 * path fix #2 * path check * Workflow test * Workflow test #2 * Added logging feature * Logs Troubleshoot * Typo fix * Troubleshoot #1 * Troubleshoot #2 * Corrected typo on path * Troubleshoot #3 * Troubleshoot #4 * Troubleshoot #5 * Removed log archive feature * Changed repo path to conform pull request merge
r9-pena
referenced
this pull request
in r9-pena/fprime
Aug 2, 2021
LeStarch
pushed a commit
that referenced
this pull request
Aug 4, 2021
* Create tutorial-support.yml * Update tutorial-support.yml GpsApp tutorial to be pulled for build test and submodules to be pulled recursively * Implementation of tutorial workflow * typo in repo address * Added missing github action file * Changed workflow path * Changed dir paths * Work around for workflow * work around * troubleshooting * troubleshoot * troubleshoot * Performance update * Path correction * troubleshoot * Dockerfile correction * path change * path change * path fix * path fix * path fix * path fix * paht fix * Revert to changes * Completed workflow for tutorial support * troubleshoot * Build path error * Optimization of workflow * Path fix * Path fix * Path fix #1 * path fix #2 * path check * Workflow test * Workflow test #2 * Added logging feature * Logs Troubleshoot * Typo fix * Troubleshoot #1 * Troubleshoot #2 * Corrected typo on path * Troubleshoot #3 * Troubleshoot #4 * Troubleshoot #5 * Removed log archive feature * Changed repo path to conform pull request merge * Test run #1 * test #2 * test #3 * added branch for workflow test * test #4 * test #4 * test #5 * test #6 * Test #7 * test #8 * test #8 * Test #9 * Test #9 * Test #10 * Test #11 * Test #12 * Test #13 * Test #14 * Test #15 * Test #16 * Test #17 * Test #18 * Test #20 * Test #21 * Test #22 * Test #23 * Test #24 * Test #25 * Split test files * Split tests #2 * Added executable permissions * Delete RPI.bash * Delete Ref.bash * Delete Framework.bash * exe files * Make Framework.bash executable * Make RPI.bash and Ref.bash executable * Test #26 * Test #27 * Test #28 * Attached Integration test to Ref test * Test #29 * Test #30 * Test #31 * Test #32 * Test #33 * Test #34 * Test #35 * Test #35 * Test #37 * Test #38 * Test #39 * Test #40 * Test #41 * Test #42 * Test #43 * Test #43 * Test #44 * Test #45 * Cleaned up files to remove commented code * Remove CI test branch from workflow * Incorporated comments for PR * Modified path for framework job test * Incoporate reviewer comment for PR * Incoporated reviewer comment for PR * Was using incorrect directory for the test * Revised args call for jobs * Passing args #1 * Define entrypoint directly from workflow * Changed entrypoint method * Changed entrypoint method #2 * Corrected test path * Syntax correction * Path Test #1 * Path test #2 * Path Test #4 * Path Test $5 * Test Path #6 * Path Test #6 * Path Test #7 * Path Test #8 * Refactored scripts to remove master.bash * Corrected test path * Fixed log problems * Entrypoint alternative * Bypassed master.bash file * Added line for better CI error messages
ThibFrgsGmz
referenced
this pull request
in ThibFrgsGmz/fprime
Jul 1, 2022
LeStarch
added a commit
that referenced
this pull request
May 15, 2026
* feat(.github/agents): add multi-agent PR review system (v9) Add a multi-agent PR review framework with: - Orchestrator agent (single human entry point, drives reviewers and aggregator in sequence) - Security Vulnerability Reviewer (8-category scope: ground/hardware asserts, overflow, validation gaps, general vulns, CI nefariousness) - Supply Chain / Runner Safety Reviewer (deps, vendored code, workflows, actions, generators, prompt-injection) - Summary Aggregator (consolidated PR comment with CI safety + merge readiness Go/No-Go verdicts, per-agent results table, outstanding must-fix bullets, since-last-run delta, spam/garbage detection) - Shared review contract (triage tags, re-review phases A-D with finding-key stability, improper-resolution detection, disagreement escalation, three agent priorities P1>P2>P3) - Agent registry (YAML, role: orchestrator | reviewer | aggregator) - 8 reusable skills (post-inline-review, triage-classifier, pr-diff-scoping, re-review-state, maintainer-lookup, ci-test-run-nefariousness, fprime-ground-input-tracing, fprime-hardware-input-tracing) Surgical edit to fprime-code-review.agent.md: remove runner-safety and supply-chain bullets (now handled by dedicated agents), remove rule #31 and the CI Runner Safety Alert / Supply Chain Review output sections. C/C++ rules 1-30, rule #32 (prompt-injection), Untrusted PR Handling, and Review Procedure remain intact. Update copilot-instructions.md to register all new agents and point humans at the orchestrator as the recommended entry point. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix: resolve spelling check failures - Replace 'pre-existing' with 'preexisting' (forbidden pattern) - Replace 'non-existent' with 'nonexistent' (forbidden pattern) - Add technical terms to .github/actions/spelling/allow.txt: CODEOWNERS, OIDC, httpx, aiohttp, netcat, execv, execp, execve, buildx, dma, vnd, retryable, refactors, typosquat, wip, ddos, exfiltrated, vulns, pushback, Tiebreakers, underdetermine Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix(fprime-code-review): complete surgical edit per Devin Review feedback Remove residual supply-chain review references missed in the initial surgical edit: - Remove step 6 (Perform a supply-chain review...) from Review Procedure - Remove 'supply-chain surfaces' from step 1 - Remove 'supply-chain review status' from step 9 (was step 10) - Renumber steps 7-10 to 6-9 after removing step 6 Supply-chain review is now exclusively handled by supply-chain-review.agent.md; this agent no longer carries instructions for an output section that was already removed. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix(agents): address Devin Review feedback (round 2) - Renumber prompt-injection rule 32 -> 31 in fprime-code-review.agent.md to close the numbering gap left by the rule 31 removal. Update references in supply-chain-review.agent.md and agent-registry.yml. - Fix broken markdown heading in review-orchestrator.agent.md: '## Invocation contract...' was wrapped across two lines, which rendered the second line as a body paragraph. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix(review-contract): scope authority to multi-agent flow members only Address Devin Review feedback: the original wording 'every agent in .github/agents/' was overbroad and conflicted with the preexisting fprime-code-review.agent.md, which uses its own triage system (Critical/High/Medium/Low + Must Fix/Follow-up Work) and is not invoked by the orchestrator. Scope the contract's authority to: - the orchestrator - every role: reviewer or role: aggregator entry in agent-registry.yml whose invoked_by_orchestrator is not false The preexisting fprime-code-review agent is now explicitly noted as 'not part of this flow and not bound by this contract'. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix(agents): address PR #5163 review feedback (8 threads) Per @thomas-bc's review on #5163: 1. CI test-run runtime-policy skill: reframed grep recipes as starter signals (not contract), added evasion-mindset section, renamed file and finding-class to obfuscate the threat model (ci-test-run-nefariousness.skill.md -> ci-test-runtime-policy.skill.md; finding-class ci-test-run-nefariousness -> ci-test-runtime-policy- violation). Vocabulary throughout reframed as a test-runtime policy checker rather than a nefariousness detector. 2. Dropped "auto-generated code without input change" section (formerly §7). Generator-output integrity is a supply-chain concern, not a runtime-policy one; supply-chain-review.agent.md already covers it. 3. fprime-ground-input-tracing.skill.md: added uplink stack components (Deframer, Router/FprimeRouter, accumulators, CmdSequencer-style detectors, ByteStream drivers with topology-ambiguity note). 4. fprime-ground-input-tracing.skill.md and pr-diff-scoping.skill.md: replaced placeholder Topology.fpp/Topology.cpp names with real F Prime paths (Ref/Top/topology.fpp, Ref/Top/RefTopology.cpp, Ref/Top/instances.fpp, Svc/Subtopologies/*/topology.fpp, Svc/Subtopologies/*/instances.fpp). 5/6. Added YAML frontmatter (name + description starting with 'Use when …') to all eight skills per agentskills.io quickstart. 7. maintainer-lookup.skill.md: removed Step 3 (CODEOWNERS parsing); F Prime does not maintain a CODEOWNERS file. Renumbered remaining steps. 8. post-inline-review.skill.md: added 'External references' section linking GitHub REST and GraphQL API docs for reviews / comments / review-thread mutations. 9. agent-registry.yml: removed 'version: 1' (not a standard); updated security reviewer scope_summary to reflect runtime-policy reframing. Cross-references updated in security-review.agent.md, review-summary.agent.md (spam trigger #2 finding-class id), and .github/copilot-instructions.md (agents table description). allow.txt: added new technical terms used in the rewrites. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> * fix(agents): align maintainer-lookup step counts after CODEOWNERS removal review-contract.md \u00a74 still listed CODEOWNERS as sub-item 3 of the maintainer-lookup order (5 sub-items total), and \u00a711 referenced a '5-step lookup', but \u00a74's CODEOWNERS removal already collapsed the skill to 4 steps. Aligned both references to match the skill: - \u00a74: removed CODEOWNERS sub-item; sub-items renumbered to 4 total. - \u00a711: '5-step lookup' \u2192 '4-step lookup'. - review-summary.agent.md \u00a75e: '(steps 1, 3, 4, 5)' \u2192 '(steps 1, 3, 4)'; the aggregator still skips step 2 (Security Overseer) because it is not the security agent. Found by Devin Review on PR #48. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
LeStarch
pushed a commit
that referenced
this pull request
Aug 4, 2026
…ly (#5518) * Svc/DpCompressProc: reject buffers smaller than MIN_PACKET_SIZE locally `DpCompressProc::procRequest_handler` constructs a `Fw::DpContainer` directly from the port-supplied `fwBuffer` and then computes data_buffer(fwBuffer.getData() + Fw::DpContainer::DATA_OFFSET, fwBuffer.getSize() - Fw::DpContainer::MIN_PACKET_SIZE) The subtraction is unsigned. The invariant `getSize() >= MIN_PACKET_SIZE` is enforced by `FW_ASSERT` inside `Fw::DpContainer::setBuffer` (Fw/Dp/DpContainer.cpp:128) — a different translation unit from where it is *relied on* here. Two failure modes when the invariant is not locally guarded: 1. `FW_ASSERT` is compiled out at lower `FW_ASSERT_LEVEL` settings. A caller (or fault-injection test, or a future component connected upstream) that hands us a buffer of length in `[Header::SIZE, MIN_PACKET_SIZE)` gets past the constructor silently. `deserializeHeader()` succeeds because the header bytes are present. The unsigned subtraction on the following line then underflows to a value near `SIZE_MAX`, and `data_buffer` is constructed with an astronomically large size. Downstream the compression state machine drives a `deserializer.getDeserializeSizeLeft() > 0` loop off the end of the real buffer, reading (and, in some paths, writing) garbage memory. 2. Even with `FW_ASSERT` fully enabled, this consumer is structurally dependent on an invariant enforced in a different file. A future widening of `MIN_PACKET_SIZE`, a refactor that replaces `setBuffer` with a variant that does not assert, or a `DpContainer` subclass with looser constraints would silently break this consumer without any diff to `DpCompressProc.cpp`. Making the check load-bearing on this site's own text closes that brick-wall. Add an early-return `if (fwBuffer.getSize() < Fw::DpContainer::MIN_PACKET_SIZE)` guard **before** constructing the `DpContainer`, and reuse the existing `log_WARNING_HI_InvalidHeader` EVR (the header is trivially invalid if the buffer cannot hold the container's minimum). No new EVRs or symbols needed; +11 lines of check + 22 lines of comment explaining why the local check is load-bearing. Same defense-in-depth shape as the previously-merged #5262 (FileUplink::File::open, June 2026): a `memcpy` whose size relied on a `U8` narrowing in a different translation unit, hardened with a local size check. The pattern is: **upstream defenses that live in a different file are load-bearing but not visible when reading this file — a local guard makes the invariant surface where the arithmetic happens.** Surfaced by the v0.16 scj-hunt `/scan` verb (7-lens geometric anomaly detector wired to gigi's ATTEND/EPISODIC/WISH substrate): `procRequest_handler` ranked #2 of 148 flagged rows in the `fprime_svc_all_v02` fiber bundle (2959 functions from Svc/) with top_lens=global, score 1.000, loc=331, cyclomatic=44, callees=29 — extreme outlier in the request-handler geometry. scj-hunt is open at https://github.com/nurdymuny/shadow-clone-jutsu. Signed-off-by: Bee Rosa Davis <bee_davis@alumni.brown.edu> * Svc/DpCompressProc: add off-nominal UT for the MIN_PACKET_SIZE guard Adds `DpCompressProcTester::test_undersized_buffer` plus a thin `TEST(OffNominal, BufferSmallerThanMinPacketSize)` driving it, per review feedback on #5518. The existing nine tests all build well-formed containers through `AbstractState::build_compress_buffer`, so none of them reach the short-buffer branch the guard introduces — the branch was untested. Construction follows the reviewer's repro: allocate a `MIN_PACKET_SIZE + 1` backing array (large enough that `Fw::DpContainer` accepts it and can write a well-formed header with dataSize = 1), then hand `procRequest` a *view* of that same memory whose length is `MIN_PACKET_SIZE - 1`. `Header::SIZE` is well below `MIN_PACKET_SIZE`, so every header byte is still present and `deserializeHeader()` would succeed; the only thing wrong with the buffer is its length. Asserts the three properties that distinguish guarded from unguarded: - `InvalidHeader` emitted exactly once, with the size we were handed and `FW_DESERIALIZE_SIZE_MISMATCH` - zero `compressChunk` calls (nothing forwarded downstream) - zero `CompressionComplete` events (no completion claimed) - buffer size unchanged Without the guard this fails in both build configurations: in a FW_NO_ASSERT build it hangs in the oversized deserializer loop (the underflowed size drives the chunking loop past the allocation); in an assert-enabled build the `Fw::DpContainer` constructor's own `FW_ASSERT` aborts. With the guard the handler returns immediately in both. Placed on the Tester rather than in the TEST body because `paramSet_*` is not publicly accessible from outside the harness — this matches the existing `test_chunks` / `test_chunks_disabled` idiom. * Svc/DpCompressProc: dedicated event for an undersized buffer Review feedback: do not overload InvalidHeader for a buffer too short to hold a packet, and trim the comments. Adds BufferTooSmallForPacket, named and shaped after the event Svc/DpWriter already raises for this identical MIN_PACKET_SIZE check on the calling side. InvalidHeader keeps its own meaning -- header deserialization failed -- so the two rejections are now distinguishable in downlinked telemetry. Existing event ids are unchanged; the new event appends as id 3. Comments are cut by 48 lines across the handler, the tester and the test main. The analysis they carried belongs in the pull request rather than in the source. sdd.md gains rows for this event and for InvalidHeader, which was already undocumented. --------- Signed-off-by: Bee Rosa Davis <bee_davis@alumni.brown.edu>
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.
Alright, trying this again on the devel branch.