Skip to content

feat(examples): add UK regulatory policy pack (UK GDPR, ICO ADM, FCA) - #3254

Merged
MohammadHaroonAbuomar merged 31 commits into
microsoft:mainfrom
dannyyol:feat/uk-regulatory-policy-pack
Sep 15, 2026
Merged

MohammadHaroonAbuomar merged 31 commits into
microsoft:mainfrom
dannyyol:feat/uk-regulatory-policy-pack

Conversation

@dannyyol

@dannyyol Ayobami Omotayo (dannyyol) commented Jul 4, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds a UK regulatory policy pack to examples/policies/uk-regulatory/, following the same pattern established by the African regulatory pack (#3077) and India regulatory pack (#3123).

The UK is a major regulated AI-agent market (financial services, public sector, healthcare) and had no jurisdiction-specific coverage in AGT yet. This PR adds starter Policy-as-Code examples that govern what an AI agent is allowed to do under UK law, evaluated at the agent action/output boundary with allow, audit, escalate, or deny decisions and statutory citations on each rule.

Three policy files

File Coverage Authority
uk-gdpr-data-protection.yaml UK GDPR + DPA 2018 — breach notification when likely to pose risk (72h to ICO; Art. 34 if high risk), security safeguards, purpose limitation, special category data, restricted transfers (escalate for review; deny without adequacy/safeguards; DUAA "not materially lower" test), complaints procedure (DPA 2018 s.164A) ICO
ico-automated-decisions.yaml UK GDPR Arts. 22A–22D (DUAA 2025 s.80) — Art. 22C safeguards, Art. 22B special-category ADM, agentic orchestration steps, recruitment ADM ICO
fca-financial-conduct.yaml Consumer Duty (PRIN 2A), SM&CR accountability, AI-influenced pricing/communications (principles-based — no AI-specific binding rules as of 2026) FCA

Also included

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Maintenance (dependency updates, CI/CD, refactoring)
  • Security fix

Package(s) Affected

  • agent-os-kernel
  • agent-mesh
  • agent-runtime
  • agent-sre
  • agent-governance
  • docs / root

Checklist

  • My code follows the project style guidelines (matches the existing regulatory-pack format)
  • I have added tests that prove my fix/feature works
  • All new and existing tests pass (opa test — 41/41 pass via rego/run_tests.sh)
  • I have updated documentation as needed
  • I have signed the Microsoft CLA

Test plan

  • Run ./examples/policies/uk-regulatory/rego/run_tests.sh — expect 41/41 PASS
  • Validate YAML policies (from repo root with agent-governance-python installed):
    python -m agent_os.policies.cli validate examples/policies/uk-regulatory/*.yaml
    
    opa eval \
    -d examples/policies/african-regulatory/rego/ \
    -d examples/policies/uk-regulatory/rego/ \
    -i '{"context": {"customer_country": "GB"}}' \
    "data.agt_policies.router.applicable_policies"
    

Add governance starter policies for GB jurisdiction covering UK GDPR/DPA 2018,
DUAA 2025 automated decision-making safeguards, and FCA principles-based
financial conduct, with OPA Rego references and jurisdiction router wiring.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Add 38 Rego unit tests covering UK GDPR, ICO ADM, FCA conduct, and GB
jurisdiction routing, plus a run_tests.sh runner and README instructions.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Keep upstream README structure (Using this directory, Policy format, Related)
and add a Policy Packs table row for uk-regulatory without replacing
existing documentation.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Restore examples/policies/README.md to match upstream main; policy pack
catalog updates are handled elsewhere.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Add GB pack mappings without removing upstream IN entries (dpdp, certin, rbi,
sebi, aadhaar). Add regression test to keep India routing intact.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Refine breach-notification messaging, escalate cross-border transfers
instead of blanket blocking, correct Art. 22B special-category ADM
requirements, and sync YAML with Rego reference implementations.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 4, 2026
@github-actions

github-actions Bot commented Jul 4, 2026 •

Copy link
Copy Markdown
🤖 AI Agent: security-scanner — View details

AI-generated review output. Treat it as untrusted analysis and verify before acting.

No security issues found.

@github-actions

github-actions Bot commented Jul 4, 2026 •

Copy link
Copy Markdown
🤖 AI Agent: test-generator — `examples/policies/uk-regulatory/fca-financial-conduct.yaml`

AI-generated review output. Treat it as untrusted analysis and verify before acting.

examples/policies/uk-regulatory/fca-financial-conduct.yaml

  • test_fca_consumer_harm_deny -- Validate denial of outputs proposing harm or obscuring material information.
  • test_fca_fair_value_bypass_deny -- Validate denial of outputs bypassing fair value assessments.
  • test_fca_accountability_delegation_deny -- Validate denial of outputs delegating accountability to AI or algorithms.
  • test_fca_pricing_decision_audit -- Validate audit logging for AI-influenced pricing or eligibility decisions.
  • test_fca_customer_communication_audit -- Validate audit logging for AI-generated customer communications.

examples/policies/african-regulatory/rego/jurisdiction-router.rego

  • test_gb_policy_routing -- Validate correct routing of UK-specific policies (uk_gdpr, ico_adm, fca_conduct) based on customer_country = "GB".

examples/policies/uk-regulatory/rego/run_tests.sh

  • test_uk_rego_coverage -- Validate that all UK-specific Rego policies are tested and pass successfully.

@github-actions

github-actions Bot commented Jul 4, 2026 •

Copy link
Copy Markdown
🤖 AI Agent: code-reviewer — View details

AI-generated review output. Treat it as untrusted analysis and verify before acting.

TL;DR: 0 blockers, 1 warning. [Solid addition with minor follow-up needed.]

# Sev Issue Where
1 Warn Known gaps in UK regulatory coverage (e.g., children's code, NIS2) README.md

Action items: None.

Warnings:

# Issue Fine as follow-up PRs
1 Expand coverage for missing UK regulatory obligations (e.g., children's code, NIS2, healthcare-specific rules) Yes

@github-actions

github-actions Bot commented Jul 4, 2026 •

Copy link
Copy Markdown
🤖 AI Agent: docs-sync-checker — Docs Sync

AI-generated review output. Treat it as untrusted analysis and verify before acting.

Docs Sync

  • fca-financial-conduct.yaml in examples/policies/uk-regulatory/ -- missing docstring
  • README.md in examples/policies/uk-regulatory/ -- section "Regulatory context (2026)" needs update to reflect the new UK regulatory policy pack
  • CHANGELOG.md -- missing entry for the addition of the UK regulatory policy pack

@github-actions github-actions Bot added the size/XL Extra large PR (500+ lines) label Jul 4, 2026
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
🤖 AI Agent: contributor-guide — View details

AI-generated review output. Treat it as untrusted analysis and verify before acting.

Welcome, and thank you for contributing! Great job on providing detailed documentation and comprehensive test coverage for the UK regulatory policy pack.

Before merging, please address the following:

  1. Ensure the Microsoft CLA is signed as noted in your checklist.
  2. Update examples/policies/README.md to include the new uk-regulatory/ policy pack in the Policy Packs table.

Refer to CONTRIBUTING.md for guidance. Let us know if you have any questions!

@github-actions

github-actions Bot commented Jul 4, 2026 •

Copy link
Copy Markdown
🤖 AI Agent: breaking-change-detector — API Compatibility

AI-generated review output. Treat it as untrusted analysis and verify before acting.

API Compatibility

No breaking changes detected.

@dannyyol

Copy link
Copy Markdown
Contributor Author

Ayobami Omotayo (@dannyyol) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

PR Review Summary

Check Status Details
🔍 Code Review ⚠️ Missing No current-run comment
🛡️ Security Scan ⚠️ Missing No current-run comment
🔄 Breaking Changes ⚠️ Missing No current-run comment
📝 Docs Sync ⚠️ Missing No current-run comment
🧪 Test Coverage ⚠️ Missing No current-run comment

Verdict: ⚠️ AI review incomplete; ready for human review

AI review comments are untrusted advisory output. The summary reports workflow-generated completion status only, not model-authored pass/fail claims.

@dannyyol Ayobami Omotayo (dannyyol) changed the title Feat/uk regulatory policy pack feat(examples): add UK regulatory policy pack (UK GDPR, ICO ADM, FCA) Jul 4, 2026
@dannyyol

Copy link
Copy Markdown
Contributor Author

Ayobami Omotayo (@dannyyol) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for the thorough pack — the Rego side is solid (41/41 OPA tests, GB wired into the shared jurisdiction router with an India-preservation regression test, and clear per-file disclaimers). One blocking issue on the YAML side.

action: escalate is not a valid PolicyAction and will fail PolicyDocument.from_yaml().

agent-governance-python/agent-os/src/agent_os/policies/schema.py defines:

class PolicyAction(str, Enum):
    ALLOW = "allow"
    DENY = "deny"
    AUDIT = "audit"
    BLOCK = "block"

There is no escalate. PolicyRule.action is typed as PolicyAction, and from_yaml() does yaml.safe_load(...) → cls.model_validate(data), so loading any of these YAMLs raises a pydantic ValidationError. Affected rules (7):

  • uk-gdpr-data-protection.yaml: ukgdpr-purpose-limitation-escalate, ukgdpr-special-category-health, ukgdpr-special-category-general, ukgdpr-bulk-export-escalate, ukgdpr-cross-border-language-escalate, ukgdpr-cross-border-action-escalate
  • ico-automated-decisions.yaml: adm-recruitment-decision-escalate

The India (dpdp-data-protection.yaml) and African (popia-south-africa.yaml) packs you're modelling on deliberately use action: block for exactly this review/hold tier — none of them use escalate. That's why opa test is green (Rego defines its own independent escalate decision, unconstrained by the Python enum) while the YAML path is broken, and it's masked because CI doesn't run the YAML validator. Consistent with this, your own test-plan checkbox python -m agent_os.policies.cli validate examples/policies/uk-regulatory/*.yaml is unchecked — that step will currently fail.

Requested change: switch the 7 action: escalate rules to action: block to match the schema and the sibling packs, then run the validate command to confirm all three YAMLs load. The Rego escalate tier can stay as-is (schema-independent). The FCA YAML already uses only deny/audit/block and is fine. Happy to re-review once this is in.

@MohammadHaroonAbuomar MohammadHaroonAbuomar left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Citation and scope corrections:

  • fca-financial-conduct.rego:52 and the yaml: PRIN 2A.1 -> PRIN 2A.4 (fair-value outcome is 2A.4).
  • uk-gdpr-data-protection.rego:49, yaml, and README: drop or scope DPA 2018 s.67. That is Part 3 (law-enforcement processing) only and conflates regimes when applied to general processing.
  • Remove "AU" from adequacy_countries; Australia is not on the UK adequacy list.
  • Drop unused lawful_basis_documented from the input-schema comment.
  • CLA check is still pending.

@dannyyol

Copy link
Copy Markdown
Contributor Author

Thanks Imran Siddique (@imran-siddique) and MohammadHaroonAbuomar for the review, I've addressed the requested changes in the latest commit.

Imran Siddique (@imran-siddique) — YAML schema

Replaced all 7 action: escalate rules with action: block in uk-gdpr-data-protection.yaml (6 rules) and ico-automated-decisions.yaml (adm-recruitment-decision-block)
Renamed the affected rule IDs from *-escalate to *-block for consistency with the sibling packs
Rego escalate tiers are unchanged (schema-independent, as suggested)
MohammadHaroonAbuomar — citation and scope

PRIN 2A.1 → PRIN 2A.4 in fca-financial-conduct.yaml and fca-financial-conduct.rego
Removed DPA 2018 s.67 from general breach-notification citations (YAML, Rego, and pack README); general processing now cites UK GDPR Art. 33 only
Removed "AU" from adequacy_countries in uk-gdpr-data-protection.rego
Removed unused lawful_basis_documented from the Rego input-schema comment

@dannyyol

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@MohammadHaroonAbuomar MohammadHaroonAbuomar left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

  • DCO failing on merge commit d680879 (no Signed-off-by trailer); sign the merge or rebase instead of merge-from-main
  • Spell-check changed files failing (run 28923597705); add flagged term(s) to .cspell-repo-terms.txt

@dannyyol
Ayobami Omotayo (dannyyol) force-pushed the feat/uk-regulatory-policy-pack branch from d680879 to f82687b Compare July 8, 2026 07:59
…block, corrected PRIN 2A.4 and Art. 33 citations, removed DPA s.67 from general processing scope, removed AU from adequacy list, dropped unused Rego schema field. Validated all 3 YAMLs and 41/41 OPA tests pass

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
@dannyyol
Ayobami Omotayo (dannyyol) force-pushed the feat/uk-regulatory-policy-pack branch from 5355f72 to 6657ad7 Compare July 8, 2026 16:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

Suppressed comments (4)

examples/policies/uk-regulatory/rego/fca-financial-conduct.rego:42

  • The regex uses the misspelled token "vulnerabilit". This was later added to the cspell allowlist, but it’s clearer (and avoids propagating the typo) to match the full words "vulnerability" / "vulnerabilities" explicitly.
	regex.match(`(?i)(mislead\s+(the\s+)?customer|hide\s+(fees|charges|risks)|exploit\s+vulnerabilit|target\s+vulnerable\s+customer|dark\s+pattern|push\s+unsuitable\s+product)`, _output_text)

examples/policies/uk-regulatory/README.md:51

  • The referenced template path agent-os/templates/policies/gdpr.yaml doesn’t exist at the repo root; the actual file is under agent-governance-python/agent-os/templates/policies/gdpr.yaml. Updating this avoids sending readers to a dead path.
Output text is stringified before regex evaluation (Agent-OS / production Rego practice) so structured `output` cannot evade phrase rules. Transfer adequacy uses pack-owned defaults overridable only via `data.config.uk_gdpr.*` (same deployer-config pattern as African agent-safety packs). Caller-set `adequacy_covered` / `safeguards_in_place` / DPF flags on `input.params` are ignored. The United States is not in the default adequacy set; US transfers are allowed only when the platform sets both `eu_us_data_privacy_framework` and `supplementary_measures` (mirrors `agent-os/templates/policies/gdpr.yaml`).

examples/policies/uk-regulatory/rego/uk-gdpr-data-protection.rego:57

  • This comment references agent-os/templates/policies/gdpr.yaml, but the actual template lives at agent-governance-python/agent-os/templates/policies/gdpr.yaml in this repo. Updating the path avoids confusion for readers trying to cross-check the referenced policy behavior.
# Platform-set only — mirrors agent-os/templates/policies/gdpr.yaml us_data_transfer.

.cspell-repo-terms.txt:1063

  • This adds the misspelling "vulnerabilit" to the repository cspell allowlist. If the FCA policy regex is updated to match the correct words (e.g., "vulnerability" / "vulnerabilities"), this entry should be removed to avoid baking typos into the dictionary.
vulnerabilit
  • Files reviewed: 15/15 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@imran-siddique

Copy link
Copy Markdown
Collaborator

Go with option B for this PR: keep defaults omitted.nnThat keeps these examples aligned with the existing non-v4 policy packs and avoids broadening this contribution into a v4 schema/ratchet-baseline change. Please retain the current fail-closed behavior and document it clearly where users might otherwise assume unmatched actions are allowed.nnIf we decide these packs should adopt explicit v4 defaults, that should be handled as a separate, deliberate migration across the relevant policy-pack set rather than by increasing the ratchet baseline incidentally here.

Union-resolve .cspell-repo-terms.txt and fix FCA Rego consumer-harm
regex to match full vulnerability words.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
auto-merge was automatically disabled August 20, 2026 08:02

Head branch was pushed to by a user without write access

@dannyyol

Ayobami Omotayo (dannyyol) commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor Author

Thanks Imran Siddique (@imran-siddique), option B is in place: no defaults: block added and no v4 ratchet-baseline change in this PR. The UK pack is now ACS-native (like the India/African packs), with Rego-backed evaluation documented in the README under “Native ACS and Rego”.

Comment thread examples/policies/uk-regulatory/rego/uk-gdpr-data-protection.rego Outdated
Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Match compact and spaced NI formats plus "No." phrasing, add regression
tests, and allowlist the UK regulatory terms cspell flagged.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Deny full National Insurance / National Health Service wording and
spaced official ID formats so these PII rules no longer fail open

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Harden NHS/NI separators, match Do not with don't, accept ASCII hyphens
in ICO contest phrasing, and require platform-set FCA trading approval.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Comment thread examples/policies/uk-regulatory/uk-gdpr-data-protection.yaml Outdated
Align uk-regulatory YAML packs with the SDK version accepted after microsoft#3939
so AgentControl.from_path and policy validation can load them.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Point UK pack docs and Rego comments at
agent-governance-python/agent-os/templates/policies/gdpr.yaml.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
… ISO codes

Replace region tokens and partial-adequacy countries in the default set with
ICO full-adequacy ISO-3166 codes, keep CA/JP/US out of defaults, and cover
EU allow plus CA/JP deny paths in Rego tests.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Comment thread examples/policies/uk-regulatory/README.md
Comment thread examples/policies/uk-regulatory/README.md Outdated
Use evaluate_intervention_point instead of the nonexistent AgentControl.evaluate,
and allowlist APPI, PIHBOs, and PIPEDA for spell-check.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Document warn (from audit) ACS mapping, fix opa eval to use an input file,
note from_path pack-only vs router two-layer selection, and use a repo-root
YAML path in the AgentControl example.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

@MohammadHaroonAbuomar MohammadHaroonAbuomar left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verified at 0f8d1f3: the three spell-check terms are in place and the workflow's own steps pass clean, and the README snippet now runs as written against this PR's SDK (prints Decision.DENY for a National Insurance number). No policy content changed since the verified head; 37 adversarial probes through the SDK against all three UK manifests still fail closed, including malformed snapshots. 219/219 OPA tests, 51 native manifests validate, all 21 single-parent commits signed off.

@MohammadHaroonAbuomar
MohammadHaroonAbuomar merged commit 541366c into microsoft:main Sep 15, 2026
90 checks passed
Yuvraj Singh (yuvrajsingh2428) pushed a commit to yuvrajsingh2428/agent-governance-toolkit that referenced this pull request Oct 1, 2026
…microsoft#3254)

* feat(examples): add UK regulatory policy pack (UK GDPR, ICO ADM, FCA)

Add governance starter policies for GB jurisdiction covering UK GDPR/DPA 2018,
DUAA 2025 automated decision-making safeguards, and FCA principles-based
financial conduct, with OPA Rego references and jurisdiction router wiring.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* test(examples): add OPA tests for UK regulatory policy pack

Add 38 Rego unit tests covering UK GDPR, ICO ADM, FCA conduct, and GB
jurisdiction routing, plus a run_tests.sh runner and README instructions.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* docs(examples): restore policies README and add UK pack entry

Keep upstream README structure (Using this directory, Policy format, Related)
and add a Policy Packs table row for uk-regulatory without replacing
existing documentation.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* docs(examples): drop README changes covered by separate PR

Restore examples/policies/README.md to match upstream main; policy pack
catalog updates are handled elsewhere.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(examples): restore India routing alongside UK in jurisdiction router

Add GB pack mappings without removing upstream IN entries (dpdp, certin, rbi,
sebi, aadhaar). Add regression test to keep India routing intact.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(examples): align UK policies with DUAA regulatory review

Refine breach-notification messaging, escalate cross-border transfers
instead of blanket blocking, correct Art. 22B special-category ADM
requirements, and sync YAML with Rego reference implementations.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* Addressed review feedback: replaced all 7 escalate YAML actions with block, corrected PRIN 2A.4 and Art. 33 citations, removed DPA s.67 from general processing scope, removed AU from adequacy list, dropped unused Rego schema field. Validated all 3 YAMLs and 41/41 OPA tests pass

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* chore(spell): add UK policy terms for cspell check

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(docs): remove v4 PolicyDocument snippet from UK regulatory README

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* refactor(examples): migrate UK regulatory pack to native ACS manifests

Convert the YAML packs to ACS manifests, add the shared ACS result adapter,
harden UK GDPR transfer checks (platform-set adequacy/DPF only), and stringify
non-string output before regex evaluation.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* chore(examples): add MIT license header to UK Rego test runner

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* chore(spell): move UK regulatory terms section header with other cspell groups

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(examples): detect HMRC-spaced UK National Insurance numbers

Match compact and spaced NI formats plus "No." phrasing, add regression
tests, and allowlist the UK regulatory terms cspell flagged.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(policies): catch NHS and NI numbers in common UK output phrasings

Deny full National Insurance / National Health Service wording and
spaced official ID formats so these PII rules no longer fail open

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(policies): close UK pack deny fail-opens and caller trust bypasses

Harden NHS/NI separators, match Do not with don't, accept ASCII hyphens
in ICO contest phrasing, and require platform-set FCA trading approval.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* chore: remove local spell-check diff output

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(examples): bump UK ACS manifests to 0.4.0-alpha.1

Align uk-regulatory YAML packs with the SDK version accepted after microsoft#3939
so AgentControl.from_path and policy validation can load them.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* docs(examples): fix UK GDPR template path after package layout move
Point UK pack docs and Rego comments at
agent-governance-python/agent-os/templates/policies/gdpr.yaml.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* fix(policies): align UK GDPR adequacy defaults with ICO full-adequacy ISO codes

Replace region tokens and partial-adequacy countries in the default set with
ICO full-adequacy ISO-3166 codes, keep CA/JP/US out of defaults, and cover
EU allow plus CA/JP deny paths in Rego tests.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* docs(examples): fix UK pack README ACS snippet and cspell terms
Use evaluate_intervention_point instead of the nonexistent AgentControl.evaluate,
and allowlist APPI, PIHBOs, and PIPEDA for spell-check.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

* docs(examples): clarify UK pack README ACS and OPA usage

Document warn (from audit) ACS mapping, fix opa eval to use an input file,
note from_path pack-only vs router two-layer selection, and use a repo-root
YAML path in the AgentControl example.

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>

---------

Signed-off-by: Ayo Omotayo <ayonifeoluwa@gmail.com>
Signed-off-by: MohammadHaroonAbuomar <40180927+MohammadHaroonAbuomar@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: MohammadHaroonAbuomar <40180927+MohammadHaroonAbuomar@users.noreply.github.com>
Signed-off-by: yuvrajsingh2428 <offcyuvi2428@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants