Repository navigation
feat(harness): report the agent's framework in the agent document - #229
Merged
khushalsonawat merged 1 commit intoNov 4, 2026
Merged
khushalsonawat merged 1 commit into
khushalsonawat merged 1 commit into
Conversation
- Write extension.framework = {name, version} on every build, plus label
for other, beside the contract.
- Read the agent's Python as tokens, never importing or running it.
- Report one of the 10 agreed names, other with a label from 9 known
frameworks, none for plain code, or unknown when it can't decide.
- Read the version only from the build's installed package files.
- End in unknown on a limit: 64 MiB read, 5,000 Python files, or a shared
work counter, with no clock, so the answer is the same every time.
- Keep detection failures away from the document and the run.
TH-8805
Signed-off-by: khushalsonawat <khushalsonawat@gmail.com>
khushalsonawat
merged commit Nov 4, 2026
a62389f
into
feat/TH-8804-source-subfolder
11 checks passed
5 of 10 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.
Stacked on #225 (TH-8804), itself on #224 (TH-8806). This PR's base is
feat/TH-8804-source-subfolder, so its diff shows only TH-8805. It retargets todevonce #225 merges.Summary
Every build's agent document now says which framework the agent uses:
extension.framework = {name, version}, pluslabelforother. The answer comes only from reading files, so the customer's code is never imported or run and no model is asked. The same detectors will be reused by TH-8950.Ticket: TH-8805.
nameversionnullother, withlabelnullunknownnullnone, but something was left unreadunknownnullnonenullunknown, and the document still goes out. The field counts insetup_hash.subfolder, then the contract'sruntime.workdir, then the control process's working directory, then the source.Known limits
folder_findingscan let aMemoryErrorout. Onlydetect_frameworkpromises not to, so TH-8950 needs its own guard if it calls the first directly.none, though a framework is there: ones outside the lists (CAMEL, OpenAI Swarm), dynamic imports, andfrom livekit import *.unknownwhere a person could tell: a data table of several MiB can use up the work limit, and so can a repo over 64 MiB.version: null, because there are no installed packages to read. Agents already built show nothing until their next version.Differences from the ticket
FRAMEWORK_PRESETSkeys (owner's decision).othercovers a fixed list of 9 (owner's decision).Verification
ruff checkon the changed source files and the new test file. Full repo not run.7 failed, 652 passedand1 failed, 658 passed. The failures are the base's by name: 6 needlivekiton 3.11, andtest_grade's cap test fails on both.274 passed.uv run pytest -q: not run on the laptop. CI on this PR is the full run ofsdk-smoke.agent_folderforsubfolder.