Skip to content

Fix spelling - #2

Merged
timcanham merged 1 commit into
nasa:develfrom
dinkelk:patch-2
Jul 15, 2017
Merged

Fix spelling#2
timcanham merged 1 commit into
nasa:develfrom
dinkelk:patch-2

Conversation

@dinkelk

@dinkelk dinkelk commented Jul 14, 2017

Copy link
Copy Markdown
Contributor

Alright, trying this again on the devel branch.

@timcanham
timcanham merged commit 8f72e03 into nasa:devel Jul 15, 2017
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
r9-pena referenced this pull request in r9-pena/fprime Jun 30, 2021
r9-pena referenced this pull request in r9-pena/fprime Jun 30, 2021
r9-pena referenced this pull request in r9-pena/fprime Jul 1, 2021
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 Jul 14, 2021
r9-pena referenced this pull request in r9-pena/fprime Jul 20, 2021
r9-pena referenced this pull request in r9-pena/fprime Aug 2, 2021
r9-pena referenced this pull request in r9-pena/fprime Aug 2, 2021
r9-pena referenced this pull request in r9-pena/fprime Aug 4, 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>
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