Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ improvising or retrying when something is off.
| Learn one program with branches from two or more recordings, or say which recordings are missing | Released | Synthetic | `openadapt-flow induce`, `disambiguate`; [CAPABILITIES.md (flow)](packages/flow/docs/CAPABILITIES.md) |
| Learn a guarded branch from several halts fixed the same way | Released | Synthetic | `openadapt-flow teach-branch`, `learning/branch_teach.py` |
| Run a program over a worklist | Released | Real app | `openadapt-flow for-each` |
| Learn a worklist loop from recordings that search a record, open it, work it and go back to the list, even when the last row skips the return or rows differ (a field some rows lack, a write some rows get behind a screen check a person accepts). Each pass selects the row's own record by its values, verifies it, and checks that row's write. Certified and governed runs refuse it until qualification covers it | On main ([#1435](https://github.com/OpenAdaptAI/OpenAdapt/pull/1435)) | Synthetic (held-out rows run through the interpreter against an in-memory app) | `openadapt-flow induce`; `Step.target_param` |
| Typed business decisions inside a run | Released | Synthetic | `business_decision` states, `openadapt-flow business-decisions` |
| Watch many real runs in the background and mine candidate branches (shadow mode) | On main ([#1212](https://github.com/OpenAdaptAI/OpenAdapt/pull/1212)) | Synthetic | [SHADOW_MINING.md](packages/capture/docs/SHADOW_MINING.md), [LEARN_FROM_MANY_RUNS.md](packages/flow/docs/LEARN_FROM_MANY_RUNS.md) |
| Fill a workflow's inputs from a referral PDF, fax image or email | Released | Synthetic | `openadapt-flow intake`, [INTAKE.md](packages/flow/docs/INTAKE.md) |
Expand Down
8 changes: 6 additions & 2 deletions packages/flow/openadapt_flow/compiler/compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -1923,6 +1923,7 @@ def _compile_recording(
pixel_verify_enabled: bool = False,
bind_effect_params: bool = False,
drop_redundant_keys: bool = False,
phi_free_identity: bool = True,
) -> Workflow:
"""Compile a recording directory into a workflow bundle.

Expand Down Expand Up @@ -3471,8 +3472,11 @@ def cached_lines(i: int, suffix: str, png: bytes) -> list[OcrLine]:
# (openadapt_flow.runtime.identity_template). Runs LAST so param-hygiene
# lint and optional model annotation still see the plaintext. Backward
# compatible: bundles compiled before this carry the plaintext fields and
# replay unchanged.
_phi_free_identity(workflow)
# replay unchanged. Multi-trace induction compiles with this off and
# hashes the bands itself once the loop's row columns are known
# (compiler.induction.phi_free_program_identity).
if phi_free_identity:
_phi_free_identity(workflow)

# PHI governance manifest (audit REM-1): classify the bundle so an operator
# inventory and the pre-commit/CI guard can act on it.
Expand Down
Loading
Loading