Skip to content

0.6.3 — Agentic perception: numbered maps, sapfx skill, mechanical agent loops

Choose a tag to compare

@CyrilM29 CyrilM29 released this 27 Jul 20:11

🇫🇷 Release « perception agentique ». L'agent voit l'écran comme une carte numérotée (@N) et agit par référence — sur SAP GUI ET sur Fiori ; la boîte à outils s'apprend en un appel (skill sapfx) ; les boucles de feedback des agents plan → generate → heal sont désormais fermées mécaniquement (gardes, pas de la prose) ; compatibilité rf-mcp 0.35.0 revalidée et épinglée. Dézippez, install.cmd, c'est prêt.

What's new

Numbered screen/page maps — act by reference (Vibium map/@e1 pattern, applied to SAP)

  • ECC: Get Screen Map numbers every actionable target of the live screen (@N + verified human label + id + type + current value — same affordance engine as the semantic perception), and Resolve/Click/Fill Screen Ref act by number. References are ephemeral (last numbered perception) and re-verified before every action: screen changed or element gone = actionable failure naming Get Screen Map. The Set-of-Mark annotated screenshot legend feeds the same @N table — the vision → deterministic-action loop is closed.
  • Fiori mirror: Get Ui5 Page Map reduces the UI5 control tree to its numbered actionable targets (editable types marked * with value; human label from text/title/placeholder/tooltip), and Resolve/Click/Fill Ui5 Ref act by number — liveness re-checked against the rendered registry, frame scope respected, composite-control fill targets the inner <input>.
  • Interactive piloting only (rf-mcp guidance says so too): suites keep speaking business keywords over resources/ locators — convention #1 unchanged.

sapfx toolkit skill (install-as-a-skill)

  • .claude/skills/sapfx/SKILL.md: one skill call teaches an assistant the three channels (GUI/Fiori/API), the perception → action loop, the non-negotiable conventions and the agent cycle. Shipped in the Windows pack.

Agent feedback loops closed mechanically

  • Stale-plan marker: a healer-flagged spec (> **Statut : PÉRIMÉE (date)**) now fails check_spec_sync.py until the planner re-explores; generation divergences are recorded in the spec before re-stamping; docs/heal-journal.md keeps the healer's diagnosis per session.
  • New guard check_conventions.py: conventions #1/#2 (no raw locators in generated suites, no Sleep) are now enforced on artifacts — generator gate, post-edit hook, CI.

rf-mcp 0.35.0 — compat guard window widened to [0.31, 0.36) after wheel-level re-validation (plugin contracts byte-identical; lazy-proxy-safe probe); deployment pin bumped to rf-mcp==0.35.0.

Fixed

  • Pack .cmd launchers shipped with LF-only line endings: double-clicking install.cmd echoed «'M' n'est pas reconnu…» parser errors (install still completed). Fixed in depth — .gitattributes exception, launchers converted, and the pack builder now normalizes every staged .cmd to CRLF (unit-locked). This 0.6.3 ZIP was tested from a fresh extraction before publication: sidecar + 68 internal SHA-256 OK, install.cmd -WithMcp clean through cmd.exe, 27/27 sample-suite dry-run, sapfx-mcp overlay announcing itself on rf-mcp 0.35.0.
  • check_spec_sync.py was blind to ventilated suites (tests/robot/{api, ui/ecc, ui/fiori, cross}) — now recursive.

Proof numbers: 963 unit tests · 93 % coverage · 17/17 live scenarios. UI5 1.60 → 2.0-nightly compatibility unchanged; MV3 extension 0.6.0 unchanged.

Attachment: sapfx-pack-0.6.3-win.zip — self-contained Windows deployment pack (both wheels, business resources, recorders + MV3 extension, sample suites, maintenance scripts, test agents + sapfx skill). Install: unzip, then install.cmd (options -WithMcp, -WithBrowsers). SHA-256: 582adb372d898d8ca0385c5bfb1d213adab7ec54f57600ce99684e1fb5dbd1a5.

Ops note: after updating the libraries, restart the rf-mcp server — the process freezes the imported library class and instance (field note in the repo).