← realLaw AICONTENT HISTORY

Update to realLaw AI

Snapshot Oct 3, 2026 · 00:02 UTC · version 1.1.2

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 2 files: .codex-plugin/plugin.json, skills/uae-legislation-research/SKILL.md. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

03ec9ed814300eae65e01aa8fc18ff58022dc428f16fd211039e564cb6206d60

After

458d47284028d9a6e3b100f0a5ee69e21c66b0095ae165ec07e21d756d1d30f2

Package file

Before

1825

After

2259

Package file

Before

903d1c9d798a379b8aec2cd08af03c43897ad608542a583fd6ef97702a651dc8

After

70cba05b3b5fb86dc589ab9f9e99387d98b00ed5eabccf1695687cccca7a8d01

Package file

Before

6928

After

8303

Compare saved observations

Download comparison JSON

skills/uae-legislation-research/SKILL.md

--- before
+++ after
@@ -1,6 +1,6 @@
 ---
 name: uae-legislation-research
-description: Use when a user asks factual questions about UAE legislation, legal compliance, tax rates, thresholds, exemptions, obligations, deadlines, penalties, or needs to find, review, compare, cite, or summarize published UAE legislation, legal news, or digests through the realLaw AI MCP.
+description: Use for factual UAE legislation, compliance, or tax questions and to find, review, compare, cite, or summarize published UAE legislation, news, or digests through realLaw AI. Also use for realLaw AI access, payments, renewals, and plan/account changes, including user retries after access denial.
 ---
 
 # UAE Legislation Research
@@ -9,35 +9,40 @@
 
 ## Core rules
 
+- Check scope before routing: call no tools for requests solely about non-UAE legislation, unrelated tasks, or amending/publishing laws, even if a law is named. Explain scope. For mixed requests, handle only the requested supported UAE research or realLaw AI access part.
 - Write the final answer in the user's language, but send concise English search phrases to tools.
 - When realLaw AI is selected, mentioned, or this skill is invoked, retrieve evidence before answering substantive UAE legislation, compliance, or tax questions. Never answer them from model memory alone; retrieve each concept in a multi-topic question.
 - Preserve official titles, law numbers, years, and citations. Do not invent an official translation.
-- Use `language: en` for every legislation tool that accepts `language`; do not add it to `search_legislation_keywords` or `list_legislation_filters`. Translate retrieved English evidence only in the final answer.
+- Omit the deprecated `language` parameter from legislation tool calls. All legislation tools use the English corpus; translate retrieved English evidence only in the final answer.
 - Ordinary factual questions, summaries, explanations, comparisons, citations, and news or digest presentations require complete retrieval of every selected or presented document through `hasMore=false`.
 - If intent is ambiguous, treat it as content-bearing and completely retrieve every selected or presented document.
 - Complete retrieval may be skipped only when the user explicitly requests metadata-only output limited to `title`, `sourceRef`, `releaseDate`, and `sourceUrl`. Return only those fields; `createdAt` is not part of this exception.
 - Snippets and compact matches are discovery-only. Use them to identify, rank, or discard candidates, not for content or direct relevance claims.
 - Do not infer missing metadata, legal effect, or identity. If no relevant document can be completely retrieved, say the corpus could not verify the answer; do not substitute model memory or the public web unless separately requested.
-- Cite every substantive conclusion with a returned `sourceUrl`; never construct or alter one.
+- Cite every substantive conclusion and each presented document with a clickable Markdown link to its returned `sourceUrl`, including metadata-only lists. Use the document title as the link label; never construct or alter the URL.
+- If a tool reports that an active Professional or Team subscription is required, relay that message to the user and stop the current legislation retrieval attempt; do not try other legislation tools or answer from memory.
+
+## Check access
+
+- For realLaw AI access questions, reported payment/renewal/plan/account changes, or a later user retry after denial (even repeating the original question), call `get_access_status` once (OAuth required, no paid plan needed). Never reuse an earlier denial to refuse a later attempt.
+- On `accessAllowed=true`, resume the original request if supported and pending, without another confirmation; for access-only questions report status only. On false, relay the current denial and stop without polling; a later user retry gets a fresh check. On technical error, access is unverified, not inactive.
+- Checks use the OAuth-linked account; website login changes do not relink it. Ordinary legislation calls check access themselves.
 
 ## Route the request
 
-| User intent | First tool | Follow-up |
-|---|---|---|
-| Exact title, number, year, issue number, or citation | `find_law_document_by_reference` | Resolve, then retrieve selected matches completely |
-| Latest or topic updates, news, or digests | `get_legislation_news_digests` | Use both sections, then retrieve presented items completely |
-| Factual question without an exact reference | `search_legislation_keywords` | Search each concept, then use returned phrases in `search_legislation` |
-| Broad legal topic | `search_legislation_keywords` | Pass a matching phrase to `search_legislation` |
-| Topic with corpus filters | `list_legislation_filters` and `search_legislation_keywords` | Pass returned keys and keywords to `search_legislation` |
-| Full text, summary, citation, comparison, or presented result | `get_law_document` | Continue with `nextCursor` until `hasMore=false` |
+- Exact title, number, year, issue number, or citation: `find_law_document_by_reference`.
+- Latest or topic updates, news, digests: `get_legislation_news_digests`.
+- Other factual questions or topics: `search_legislation_keywords`, then `search_legislation`.
+- Resolve corpus filters with `list_legislation_filters`; read selected documents completely with `get_law_document`.
 
 ## Search topics and filters
 
 1. Extract topic, mandatory constraints, dates, and output. `search_legislation` requires `query`; ask when a filtered request has no topic.
 2. Translate to short English legal phrases and split multi-part questions into two to four concepts. Discover each with `search_legislation_keywords`; use only matching returned keywords.
 3. Resolve uncertain filters with `list_legislation_filters`, mapping `jurisdiction`, `authority`, `documentType`, and `fieldOfLaw` to their plural search arrays.
-4. Pass returned keys exactly; never guess IDs or send frontend parameters such as `zone[]` or `authority[]`.
+4. Pass returned keys exactly in `authorities`, `jurisdictions`, `documentTypes`, and `fieldsOfLaw` (not `fieldOfLaws`); never send frontend parameters such as `zone[]` or `authority[]`. Never invent an ID: a well-formed unknown ID is not rejected, it silently returns no results.
 5. Supported `statuses`: `in_force`, `not_in_force`, `will_come_into_force`; `contentTypes`: `laws_and_regulations`. Preserve dates and separate phrases that would over-constrain one query.
+6. For laws and regulations, set `contentTypes=["laws_and_regulations"]`; omit for other content. Select by subject and mandatory constraints, not rank alone. Individual dismissal notices do not answer a request for general employment rules.
 
 ## Handle special routes
 
@@ -52,18 +57,16 @@
 
 ## Read document text
 
-1. Call `get_law_document` with returned `documentRef`, `language: en`, and `maxCharacters: 50000`; omit `cursor` first.
+1. Call `get_law_document` with the returned `documentRef` and `maxCharacters: 50000`; omit `language` and omit `cursor` on the first call.
 2. While `hasMore: true`, pass `nextCursor` unchanged with the same arguments.
 3. Continue until `hasMore: false`; never stop because a fragment appears sufficient, even for a specific provision.
 4. Do not use or present any document-based content claim before `hasMore: false`.
-5. If a continuation call fails or client limits prevent completion, state that the full document was not retrieved and omit all content claims based on its partial fragments.
+5. On `invalid_cursor`, restart that document from the first fragment with no `cursor`. On `not_found`, or when client limits prevent completion, state that the full document was not retrieved and omit all content claims based on its partial fragments.
 6. Keep cursors internal. Link only the returned `sourceUrl`; never derive a URL.
 
 ## Recover from weak results
 
 1. Retry weak results with simpler legal synonyms, validated phrases, and verified filter keys. Relax at most one optional filter; never relax a mandatory constraint silently.
 2. If a citation remains unresolved, report that. Search related documents only with consent; otherwise ask for a narrower topic, citation, authority, jurisdiction, or date range.
-
-## Return the answer
-
-Completely retrieve every selected or presented document, including ordinary lists, unless the user explicitly requests metadata-only output limited to `title`, `sourceRef`, `releaseDate`, and `sourceUrl`; discarded candidates need not be read. Report relevance, summaries, content, changes, or other metadata only after completion. Cite each conclusion with returned `sourceUrl`. Disclose incomplete retrieval and omit that document's content claims. Label ambiguities, missing fields, and broadened searches.
+3. A call rejected for invalid parameters is an argument error, not an empty corpus. Correct the reported argument using the tool schema and retry once. Use `list_legislation_filters` only when filter keys need resolving, not for invalid dates, `language`, `limit`, `maxCharacters`, or missing `query`.
+4. For a digest date-range error, ensure `fromDate` is no later than `toDate`. Correct a transcription mistake from the user's request; if the requested interval itself is reversed or unclear, ask for clarification instead of silently changing it.
Full technical diff · 4 changed fields

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"03ec9ed814300eae65e01aa8fc18ff58022dc428f16fd211039e564cb6206d60"
AFTER
"458d47284028d9a6e3b100f0a5ee69e21c66b0095ae165ec07e21d756d1d30f2"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
1825
AFTER
2259

changed /files/skills~1uae-legislation-research~1SKILL.md/sha256

BEFORE
"903d1c9d798a379b8aec2cd08af03c43897ad608542a583fd6ef97702a651dc8"
AFTER
"70cba05b3b5fb86dc589ab9f9e99387d98b00ed5eabccf1695687cccca7a8d01"

changed /files/skills~1uae-legislation-research~1SKILL.md/size

BEFORE
6928
AFTER
8303
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "0e924631d08b5913073d859628f488fbd2514513792076d755f7169f32cb9839",
      "size": 127
    },
    ".codex-plugin/plugin.json": {
      "sha256": "458d47284028d9a6e3b100f0a5ee69e21c66b0095ae165ec07e21d756d1d30f2",
      "size": 2259
    },
    "skills/uae-legislation-research/SKILL.md": {
      "sha256": "70cba05b3b5fb86dc589ab9f9e99387d98b00ed5eabccf1695687cccca7a8d01",
      "size": 8303
    },
    "skills/uae-legislation-research/agents/openai.yaml": {
      "sha256": "41ddc0e0a94cfc48f1b37981e3537291f572262d70515b5553b1da1b555c82e7",
      "size": 626
    }
  }
}

SHA-256 of public snapshot: 3d6b19ad148e2a913053543c42057e24bf4db0cb8b11cac9bb7e0ca92bf82c78