Skip to content

Appeng 4903/phase 1 validation - #1

Merged
GuyZivRH merged 4 commits into
mainfrom
APPENG-4903/phase-1-validation
Apr 14, 2026
Merged

Appeng 4903/phase 1 validation#1
GuyZivRH merged 4 commits into
mainfrom
APPENG-4903/phase-1-validation

Conversation

@GuyZivRH

Copy link
Copy Markdown
Collaborator

No description provided.

Pydantic model for metadata.yaml (schema_version, name, persona,
generation_mode, etc.), validation script with 6 checks including
SKILL.md enforcement, and 29 unit tests.

Made-with: Cursor
- Reject unknown metadata fields (extra="forbid")
- Validate schema_version format (MAJOR.MINOR)
- Use ast.parse instead of py_compile to avoid __pycache__ artifacts
- Detect whitespace-only instruction.md and SKILL.md
- Narrow test assertions to ValidationError
- Add structured logging to validate_submission
- Use StrEnum and X|None syntax (pyupgrade)

Made-with: Cursor
- Only 'name' is now required in metadata.yaml; all other fields
  have sensible defaults (schema_version=1.0, generation_mode=manual,
  version=0.1.0, persona/description/author=None)
- Add Harbor timeout and resource fields (agent_timeout_sec,
  verifier_timeout_sec, build_timeout_sec, cpus, memory_mb, etc.)
  as optional with defaults matching Harbor examples
- Validate generation_mode before checking instruction.md and
  test_outputs.py — skips those checks for ai mode (Phase 7)
- Add test for minimal metadata (name-only)

Made-with: Cursor
Comment thread .gitignore Outdated
# Plan review suggestions (working documents, not deliverables)
# Review and planning working documents (not deliverables)
Docs/plan_suggestions/
Docs/commit reviews/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we keep consistent naming (e.g. always with or w/o the "_" separator)?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, np

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dmartinol
dmartinol previously approved these changes Apr 13, 2026
Address review feedback: rename Docs/commit reviews/ to
Docs/commit_reviews/ and add Docs/plan_reviews/ to gitignore.

Made-with: Cursor

@dmartinol dmartinol left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

@GuyZivRH
GuyZivRH merged commit a895f54 into main Apr 14, 2026
@GuyZivRH GuyZivRH mentioned this pull request Apr 14, 2026
4 tasks
GuyZivRH added a commit that referenced this pull request Apr 16, 2026
Document the per-task environment_kwargs change needed in the Harbor
fork's TaskConfig for per-variant image refs in a single sweep config.
Also document WS3A doc alignment items (naming, RBAC, security context).

Update Phase 4 checkboxes: mark fork integration (PR #1), Tekton task,
eval config script, RBAC, and dual eval mode support as done.
GuyZivRH added a commit that referenced this pull request Apr 23, 2026
Update harbor_openshift_backend.md to match the current state of the
Harbor fork (PRs #1 and #2):

- Document both eval modes (prebuilt + local-build via podman)
- Fix file path: openshift.py, not openshift_environment.py
- Correct Pod security: readOnlyRootFilesystem intentionally unset,
  HOME=/tmp injected instead
- Narrow RBAC table to actual usage (Pods, exec, log, Secrets, Events)
- Update naming to treatment/control throughout
- Add environment kwargs table (namespace, image_ref, registry,
  cpu_request, tls_verify)
- Document per-task environment_kwargs (fork PR #2)
- Document K8s client manager refactor for concurrent safety (fork PR #2)
- Update Definition of Done with completed items

Update harbor_fork_requirements.md to reflect per-task
environment_kwargs as implemented (no longer nice-to-have).
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