Pranaykarvi commented on issue #62500:
URL: https://github.com/apache/airflow/issues/62500#issuecomment-4099644980

   @potiuk @jason810496 Opened a draft PR for the PoC:
   #64008
   
   Summary of what is included across 6 commits:
   
   Source of truth: contributing-docs/03_contributors_quick_start.rst
   and AGENTS.md both contain embedded agent-skill blocks. The
   extractor scans both sources — RST files are the primary source
   per Potiuk's guidance, AGENTS.md as secondary. 9 skills total.
   
   Runtime context API (breeze_context.py):
   - get_context() detects host vs Breeze vs Podman via 4-step
     priority chain: AIRFLOW_BREEZE_CONTAINER env var ->
     /.dockerenv (Docker) -> /.containerenv (Podman) ->
     /opt/airflow -> default host
   - get_command(skill_id, **kwargs) returns correct command
     for current context with parameter substitution
   - --force-context flag overrides automatic detection
   
   uv-first fallback chain: run-single-test skill uses uv as
   primary, falls back to breeze only when system deps are missing 
   exactly the pattern described in Potiuk's comment.
   
   Drift detection: extract_agent_skills.py --check exits 1 if
   skills.json has drifted from source docs. Wired as pre-commit
   hook so CI fails if contributor edits docs without regenerating.
   
   Dependency graph: skill_graph.py builds execution order tree
   from prereqs fields, emits skill_graph.json for machine
   consumption, detects circular dependencies.
   
   Validation CLI: validate_skills.py catches duplicate IDs,
   invalid context values, missing required fields across all skills.
   
   Query CLI: query_skills.py --chain run-manual-checks shows
   full execution order: setup-breeze-environment ->
   run-static-checks -> run-manual-checks.
   
   DX_REPORT.md: documents 3 concrete failure modes an agent
   hits without skills (wrong host/container context, wrong tool,
   wrong order) vs with skills.
   
   E2E tests: cover full pipeline from RST skill block ->
   extraction -> skills.json -> get_command() returning correct
   uv command for host context.
   
   29 tests passing total across unit, integration, and E2E.
   
   Happy to hear any feedback on the design, particularly on
   whether the get_command() API abstraction level is right for
   agents consuming these skills, and whether the dual-source
   approach (RST + AGENTS.md) aligns with the intended direction.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to