feat: add agent-assisted secondary development workflow - #68
Merged
Conversation
Signed-off-by: samuel--hu <genius1@qq.com>
Signed-off-by: samuel--hu <genius1@qq.com>
Signed-off-by: samuel--hu <genius1@qq.com>
Signed-off-by: samuel--hu <genius1@qq.com>
Signed-off-by: samuel--hu <genius1@qq.com>
Signed-off-by: samuel--hu <genius1@qq.com>
# Conflicts: # docs/en/tutorials/05-model-porting/model-porting.md # docs/tutorials/05-model-porting/model-porting.md
nquyencubas523-cloud
approved these changes
Aug 6, 2026
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.
Summary
start → assess → needsInput → doctor → execute → verifypath in front of the existing agent workflow.Root cause
The earlier workflow exposed implementation choices too early and treated credential-bearing user input primarily as something to reject. A normal user could provide a valid isolated development machine and explicitly ask the agent to connect, yet still encounter extra forms, SSH-key setup, or a blocked execution path.
Its fixed-version posture also made repository examples look like universal requirements. Compatible environments supported by current upstream instructions could therefore be rejected even when the required compiler capabilities were callable.
Finally, a generic
verifiedlabel could be overread as device or business acceptance. Downstream documentation and example promotion had no machine-readable proof of the completed chain, no explicit device-validation gap, and no lifecycle state for retracting invalid evidence.What changed
Intent and remote environment entry
scripts/agent/start.sh/start.ps1creates a private run from ordinary intent, copies named material into the ignored run directory, and performs the first assessment.--user-requested-remote-accessrecords authority already expressed by the user. It grantsremote-executionand, when material is named for the remote task,model-transfer.scripts/agent/connect.sh/connect.ps1opens task-authorized interactive OpenSSH. The password is accepted only by the OpenSSH prompt; it is not a script argument, environment value, task JSON field, or evidence field.NEEDS_INPUT; an explicitlyUNSUPPORTEDroute still stops connection. Formal doctor admission requires a currentREADYassessment.Capability-based admission
UNVERIFIED, not a guessed pass or a forced recipe, so upstream-supported routes can still be investigated.Evidence declaration boundary
candidate | conversion-verified; legacyverifiedrecords are read asconversion-verified.seal.jsonwith the chain status, run ID, toolchain digest, commit, tree, and issue time, plus a shortCE1-...reference code.conversion-verifiedrequires a valid seal. A missing seal still permits a candidate record.activeorrevoked; revoked records remain auditable but cannot be promoted, selected, or used for new recordings.conversion-verified + active + valid seal. The short code is only a reference and is not proof by itself.User and developer impact
A user can say, in one private interaction, “connect to this isolated Linux development machine, inspect readiness, and continue,” then provide the host, account, and password. The repository mechanism records only sanitized task authority and lets the agent connect without another authorization round trip.
Users do not need to preselect conversion internals. The agent can explore routes supported by repository facts or official upstream guidance, while mechanical constraints apply only when compatibility or verification claims enter shared artifacts.
Credentials alone are not interpreted as authority. Dependency installation,
sudo, global configuration changes, production access, and test-device writes remain separate decisions when necessary. Conversation or terminal history may still retain connection details, so the documented path requires an isolated machine, least-privilege or temporary account, and a rotatable password.Scope and data boundaries
output/agent-runs/<run-id>/.MERGE_PLAN.mdremains local process material and is not part of this PR.Candidate identity
db8343d19b11b3006e59204b9aff050fe668e6b4ed033702dd8c6d087ff251a90eef812bbc6c3401codex/agent-assisted-developmentLocal verification
python3 -m unittest discover -s test/agent -p 'test_*.py'— 55 tests passed.git diff --check— passed.Acceptance and remaining evidence
Local deterministic validation is complete for this candidate. GitHub checks for the new head are evaluated separately from the previously green commit.
No live SSH login, real TPU-MLIR conversion, or device acceptance was performed for this candidate. Those layers remain
NOT_RUNand are explicitly outside this PR acceptance claim. Ready-for-review status qualifies only the repository workflow implementation; it is not a conversion, device, or production acceptance result.