Separate validation commands from tree checks

This commit is contained in:
2026-11-02 03:32:46 +00:00
parent 9cb48a70b7
commit 03ee83e8a5
2 changed files with 13 additions and 2 deletions

View File

@@ -50,7 +50,7 @@ the agent policy; an intermediate compilation dependency is recorded accurately.
| 12 | A08 | Complete — redirect boundary, origin authorization, cycle, and delivery outcome tests passed. |
| 13 | A09 | Complete — bounded reads, size and digest mismatches, stream failures, cancellation, reconciliation, and public prebuilt delivery checks passed. |
| 14 | A10 | Complete — bounded and full capture, forwarding, error identity, concurrency, and benchmark modes passed. |
| 15 | A13 | Pending |
| 15 | A13 | Complete — validation ordering, scope, tree lifecycle, diagnostics, and public callback checks passed. |
| 16 | A15 | Pending |
| 17 | Remaining A19, A20 | Pending |
| 18 | A11, A17: assessment only | Pending |

View File

@@ -71,7 +71,7 @@ func (request Request) ReadCandidateTree(ctx context.Context) (*CandidateTree, e
}
// Run executes shared validation for the captured candidate.
func Run(ctx context.Context, request Request) (result error) {
func Run(ctx context.Context, request Request) error {
if request.Settings.FileSize != nil && request.Settings.FileSize.LimitBytes != nil && *request.Settings.FileSize.LimitBytes < 0 {
return &Failure{
Check: FileSize,
@@ -89,6 +89,13 @@ func Run(ctx context.Context, request Request) (result error) {
}
}
}
if err := runGoChecks(ctx, request); err != nil {
return err
}
return runTreeChecks(ctx, request)
}
func runGoChecks(ctx context.Context, request Request) error {
goDirectory := request.ModuleDir
if goDirectory == "" {
goDirectory = request.RepositoryDir
@@ -134,6 +141,10 @@ func Run(ctx context.Context, request Request) (result error) {
}
}
}
return nil
}
func runTreeChecks(ctx context.Context, request Request) (result error) {
needsSharedSelection := len(request.Settings.SharedFiles) != 0
if request.Settings.GoFormat || request.Settings.ModuleDistribution.WorkspaceFiles || request.Settings.ModuleDistribution.LocalReplacements || request.Settings.FileSize != nil || request.Settings.Markdown != nil || needsSharedSelection || len(request.Settings.ForbiddenFiles) != 0 {
tree, err := request.ReadCandidateTree(ctx)