Later reads in a session: refuse a workspace file that is not a regular file
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 56/100
Research direction
After #365 merges, read its helper and test groups to learn the pattern. Inspect the listed readers in proxy/agent.go, proxy/gates.go, proxy/guardrails.go, proxy/delivered_handoff.go, proxy/cut_call.go, and proxy/permissions.go, then add tests that drive each reader with a non-regular file in a temporary workspace and fail if it hangs for a few seconds. Done means every reader uses the helper or the issue explains why it cannot, and the tests confirm each returns promptly.
Written by the indexing model from the issue text.
Description
Follow-up to #365, which covers the file tools and the session start.
What needs doing
About 15 places in the proxy read workspace files later in a session, outside a tool call, and open the file without checking its kind. Give them the same check #365 adds (refuse a file that is not a regular file), through the same helper.
proxy/agent.go:runAgentLoop(3 reads),fetchFencedContent,settleDebtByExecutionproxy/gates.go:orphanedAdditions,invalidateTrackedValidationproxy/guardrails.go:driftedSinceVerification,fileSHA256,coverageForGreenCommand,unshownSymbolCitations,toolBanNoteForproxy/delivered_handoff.go:deliveredDiffersFromSubmittedproxy/cut_call.go:cutCallDiagnosticproxy/permissions.go:hashFileIdentity
Why
#365 makes the file tools and the start-up scans safe from a file that is not a regular file. These readers run later in the same session, so one such file in the workspace can still make a session wait.
Done when
- Each reader above uses the helper from #365, or the issue says why it cannot meet such a file.
- A test puts one non-regular file in a temp workspace and drives each reader, and fails if nothing comes back in a few seconds.
Where to start
After #365 merges, its helper and its test groups show the pattern.
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 197
- Avg merge
- 9h 50m
- Merged PRs (30d)
- 325
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from inferstep/ATLAS
-
Bootstrap: the last two steps run as the user who owns the installMay be free again @assassinationss claimed this 21 days ago, and no pull request is open. Openarea/install reliability
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
inferstep/ATLAS#412 · 4 comments ·
Maintainers usually reply within 1 day
-
area/cli
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
area/cli area/lens status/ready
Difficulty 2/5 Half a day Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
area/ci status/ready
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
inferstep/ATLAS#245 · 4 comments ·
Maintainers usually reply within 1 day
-
area/docs documentation
Difficulty 4/5 3-5 days Newbie friendliness 43/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
developmentseed/titiler-cmr#278 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 2 days