← LightbringerCONTENT HISTORY

Update to Lightbringer

Snapshot Oct 9, 2026 · 12:13 UTC · version 5.1.0

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 24 files: .app.json, .codex-plugin/plugin.json, DISTRIBUTION.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

3eb781886accd85ef1a70d21535efd00007cf1b905ccd2a3137f412939ed2bb4

After

5ed161e934048c034e6ac99274da6c868b49f0a486f65d58e3f522926354f739

Package file

Before

127

After

104

Package file

Before

{"sha256":"dbb6d54bdfca4c3ebacd2d5e2f310f9ca0996425667748600e249fb0dd5a5c6c","size":4667}

After

Not present

Package file

Before

Not present

After

{"sha256":"9fe80dc98385a3258cc24bc319a4f865d1b56140af7e4dc0a9b0fc9998b1cb88","size":25977}

Compare saved observations

Download comparison JSON

skills/patent-portfolio/references/saved-portfolio.md

--- before
+++ after
@@ -0,0 +1,36 @@
+# Saved portfolio and families
+
+## Read before deciding on updates
+
+1. Use `search` with no `query`, first with `category: application` and then `category: patent`. Follow `nextCursor` while `hasMore` is true. These are accessible saved records, not public-corpus search results. Applications can include drafts and submitted cases as well as filed/imported applications.
+2. Read `family` when returned. Group records by `family.groupingKey` for the current view; the key represents an accessible saved grouping and can change after links or permissions change. It is not a global or permanent patent-family identifier. Keep ungrouped records explicit when family information is unavailable.
+3. Use `fetch` with member `documentId` values to inspect selected records. Fetch returns current saved family information when supported, which also allows readback after an update. The available member/reference lists are bounded; check `membersTruncated` and `referencesTruncated`. Continue the portfolio listing rather than treating a partial list as complete.
+4. Summarise families, member applications, jurisdictions, recorded statuses, priority dates and their provenance. Keep competitor references and the innovation pipeline separate unless the user requests them; family members may include an earlier priority case outside the application/patent search categories.
+
+Count distinct saved groupings separately from application records and recorded publication numbers. `applicationCount` and `recordedPublicationCount` describe one accessible family, including its selected record; do not add those counts again for each search hit in the same family. Recorded publication counts do not include every historical publication or represent an invention count. Portfolio totals require completed pagination and deduplication. Incomplete visibility or differing member views prevents claiming an exact organisation-wide total.
+
+A family overview describes connected, accessible saved records. `coverage: unverified` means it does not establish a complete public family, ownership or current legal status. An isolated saved application does not prove there are no relatives. `other_related` includes indirect ancestors and other connected filings; do not relabel all of them as siblings.
+
+`priorityDateSource: imported` identifies the selected record's imported priority date. `earliest_saved_priority_filing` derives the date from the accessible family's saved priority filings. `unknown` leaves it unknown. Neither is a fresh verification of every priority claim.
+
+If `family` is absent, continue the record review and state that family membership cannot be inspected through this connection. Do not invent groups from similar titles.
+
+## Decide whether refresh helps
+
+`family.refresh` assesses the selected record's stored references, not the entire family or newer provider information. Reading it makes no provider call and performs no reconciliation.
+
+| Assessment | Next step |
+| --- | --- |
+| `missing_links` | Stored references have accessible saved matches without the expected direct relationship. Inspect the returned references and record links; a refresh of this record can be appropriate within the user's authorised update scope. |
+| `unresolved_references` | Inspect unmatched and ambiguous references. An unmatched reference means no accessible saved match, not proof that the organisation lacks it. Identify/import authorised missing publications or resolve ambiguity; repeated refresh alone is not a remedy. |
+| `unknown` | Stored reference information is unavailable or unreadable. This is uncertainty, not evidence of a failed import or missing family. |
+| `no_known_gap` | No gap was found in the stored references checked. This does not establish complete or current family coverage. Routine refresh is unnecessary. |
+| `unsupported` | This record lacks a usable publication identifier for refresh. Explain the limit. |
+
+`eligible` describes the record's identifier, not permission to write. `lastRefreshedAt` records an explicit family refresh when known; null does not mean that import failed or that references were never retrieved. A missing or old timestamp alone does not require refresh. An explicit request to check newer public family information can warrant refresh even when no stored gap is known.
+
+## Update and verify
+
+A read-only review stops with its findings. When updates are authorised, preserve that authorisation and avoid asking again for the same action. Read the affected records, compare saved facts with the requested change, import selected additions, and refresh selected existing records only when warranted. Follow [import and refresh](import-and-refresh.md) for retries and limitations.
+
+After a write, `fetch` the affected record IDs and compare the family members and reference assessment with the baseline. Re-read a record with its own stored references when checking a particular missing relationship. Report what the readback verifies, what remains unresolved, and any limits from access or truncation. A successful write receipt and a verified resulting family are separate observations. If readback fails, preserve the write result and report verification as incomplete.
Full technical diff · 36 changed fields

changed /files/.app.json/sha256

BEFORE
"3eb781886accd85ef1a70d21535efd00007cf1b905ccd2a3137f412939ed2bb4"
AFTER
"5ed161e934048c034e6ac99274da6c868b49f0a486f65d58e3f522926354f739"

changed /files/.app.json/size

BEFORE
127
AFTER
104

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "dbb6d54bdfca4c3ebacd2d5e2f310f9ca0996425667748600e249fb0dd5a5c6c",
  "size": 4667
}
AFTER
Field is absent

added /files/DISTRIBUTION.md

BEFORE
Field was absent
AFTER
{
  "sha256": "9fe80dc98385a3258cc24bc319a4f865d1b56140af7e4dc0a9b0fc9998b1cb88",
  "size": 25977
}

added /files/LICENSE

BEFORE
Field was absent
AFTER
{
  "sha256": "8a796011da706b8c4c650a9f748f94905d50787d6845bf2644a7eeac61d36553",
  "size": 1072
}

added /files/README.md

BEFORE
Field was absent
AFTER
{
  "sha256": "a91ce9d38aca5622a70cf5e1a539a9c4e7e4e6078e05eb71bfa0fcd3d3ae0326",
  "size": 8338
}

added /files/assets~1logo-square-dark.png

BEFORE
Field was absent
AFTER
{
  "sha256": "9d4220c9defd5b2d06f945c945a17511f2673c4fe47b4cbed3670d95c8b27741",
  "size": 29090
}

added /files/assets~1logo-square-light.png

BEFORE
Field was absent
AFTER
{
  "sha256": "8512f1da8cfed7ceaf9a6647f9138b20f817e606166b02804fb580edb368e0d5",
  "size": 7287
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "4ce8007becc059d865ac44f58c97f4f7dd6b99f8a91807285f9300c299c698fe",
  "size": 207
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "c5013a7eb8df81d2c4ed01c2a7b331c8877f73dbd7b4872367b64265e3622836",
  "size": 15906
}

changed /files/skills~1innovation-capture~1SKILL.md/sha256

BEFORE
"3925b9a95f8e464d9435b2a9730d594eb94022f8f36a872b45985552006c991d"
AFTER
"a0afdad593bde31771b0f7cda70f175caf259924b81a1fc50c323b661be1d63c"

changed /files/skills~1innovation-capture~1SKILL.md/size

BEFORE
5960
AFTER
7373

changed /files/skills~1innovation-capture~1references~1lightbringer-authoring.md/sha256

BEFORE
"d8d9f8334b7954d36eff6ba5367ef2b55f4a274a0ca480c8077c2f7e5c07a7ac"
AFTER
"51c403da5e63d6d117ad883c69408ef71e4a0c8fb35c2bb1b8fdece0b23b8328"

changed /files/skills~1innovation-capture~1references~1lightbringer-authoring.md/size

BEFORE
10831
AFTER
2964

changed /files/skills~1innovation-capture~1references~1service-conduct.md/sha256

BEFORE
"79b76d1463ec5a79b76adc7f0f4e62cd7e2911f28d9cd14556e22d85e1f54976"
AFTER
"8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a"

changed /files/skills~1innovation-capture~1references~1service-conduct.md/size

BEFORE
930
AFTER
1599

changed /files/skills~1innovation-capture~1references~1source-exploration.md/sha256

BEFORE
"114c18451721c89df40991cde9e568fc8f6b1b32e86d82b177958f466abe55d9"
AFTER
"0c86c32d1e9037a0e7c10028d68936d1041781b8b3675d3ee5f60269532ab2ec"

changed /files/skills~1innovation-capture~1references~1source-exploration.md/size

BEFORE
7733
AFTER
9504

added /files/skills~1ip-strategy~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "52597b574422b1016a4446052606637846b9aa3891bf3910e0b1c632f7d423aa",
  "size": 6686
}

added /files/skills~1ip-strategy~1references~1mcp-workflow.md

BEFORE
Field was absent
AFTER
{
  "sha256": "70b3d64d497c7c9fa58ac44f9beb763d40c2a95e1876845e2e1cefa4f5bdca57",
  "size": 8470
}

added /files/skills~1ip-strategy~1references~1strategy-playbook.md

BEFORE
Field was absent
AFTER
{
  "sha256": "77340b577db6fac3c88ec31824c1d5322aaa71ff7b400f6f233deefac832161f",
  "size": 10344
}

changed /files/skills~1patent-portfolio~1SKILL.md/sha256

BEFORE
"fc965fadce16620a6f6bd0a334b7d699fee6fff5f7796ee3fd4d51cc2e5c1f43"
AFTER
"b2a98519588d87652348c88f06de1d0d4c0917f86413e99f9f92b039d0972258"

changed /files/skills~1patent-portfolio~1SKILL.md/size

BEFORE
4263
AFTER
5466

changed /files/skills~1patent-portfolio~1references~1import-and-refresh.md/sha256

BEFORE
"c30b18b8d3b82a8cbf1d1794515b9f9c714d4ab70c7fd12a90a6d56ee24b4748"
AFTER
"403cba8d4fd7a7621b1219e350f0f5ab92102d8cc944e14899bccbe61a0778ba"

changed /files/skills~1patent-portfolio~1references~1import-and-refresh.md/size

BEFORE
5206
AFTER
5645

added /files/skills~1patent-portfolio~1references~1saved-portfolio.md

BEFORE
Field was absent
AFTER
{
  "sha256": "8197c06aace1f9b0b882cc77ddad4a6006e443f20c266163c3492d140882cbed",
  "size": 5230
}

changed /files/skills~1patent-preparation~1SKILL.md/sha256

BEFORE
"6482408e0446240a657ab3221adaaec9800debcc9c13f7abb980606a9ad47f26"
AFTER
"be50f50b42884874367851747370c6a9da1d12ac745f1a792a84835db05d97f9"

changed /files/skills~1patent-preparation~1SKILL.md/size

BEFORE
3638
AFTER
3703

changed /files/skills~1patent-preparation~1references~1service-conduct.md/sha256

BEFORE
"79b76d1463ec5a79b76adc7f0f4e62cd7e2911f28d9cd14556e22d85e1f54976"
AFTER
"8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a"

changed /files/skills~1patent-preparation~1references~1service-conduct.md/size

BEFORE
930
AFTER
1599

changed /files/skills~1patent-review~1SKILL.md/sha256

BEFORE
"69d85dc2f2304d98b6762603bc2219e7ee67f58ef776a91a5efbbac3a3842be5"
AFTER
"e4e3cafd826be674a62998f91e492e2c17d2daded19c4ef2b16c15b021431a04"

changed /files/skills~1patent-review~1SKILL.md/size

BEFORE
5838
AFTER
6442

changed /files/skills~1patent-review~1references~1review-workflows.md/sha256

BEFORE
"6b11d0c6759697d2ef13662141c7c64650def2ea61bd5063a6b74298b2c2479a"
AFTER
"242809094df88703918745793c1cc7419dc535b83096b7b452add388ad22e3dc"

changed /files/skills~1patent-review~1references~1review-workflows.md/size

BEFORE
5681
AFTER
6381

changed /files/skills~1patent-review~1references~1service-conduct.md/sha256

BEFORE
"79b76d1463ec5a79b76adc7f0f4e62cd7e2911f28d9cd14556e22d85e1f54976"
AFTER
"8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a"

changed /files/skills~1patent-review~1references~1service-conduct.md/size

BEFORE
930
AFTER
1599
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "5ed161e934048c034e6ac99274da6c868b49f0a486f65d58e3f522926354f739",
      "size": 104
    },
    "DISTRIBUTION.md": {
      "sha256": "9fe80dc98385a3258cc24bc319a4f865d1b56140af7e4dc0a9b0fc9998b1cb88",
      "size": 25977
    },
    "LICENSE": {
      "sha256": "8a796011da706b8c4c650a9f748f94905d50787d6845bf2644a7eeac61d36553",
      "size": 1072
    },
    "README.md": {
      "sha256": "a91ce9d38aca5622a70cf5e1a539a9c4e7e4e6078e05eb71bfa0fcd3d3ae0326",
      "size": 8338
    },
    "assets/logo-square-dark.png": {
      "sha256": "9d4220c9defd5b2d06f945c945a17511f2673c4fe47b4cbed3670d95c8b27741",
      "size": 29090
    },
    "assets/logo-square-light.png": {
      "sha256": "8512f1da8cfed7ceaf9a6647f9138b20f817e606166b02804fb580edb368e0d5",
      "size": 7287
    },
    "mcp.json": {
      "sha256": "4ce8007becc059d865ac44f58c97f4f7dd6b99f8a91807285f9300c299c698fe",
      "size": 207
    },
    "plugin.json": {
      "sha256": "c5013a7eb8df81d2c4ed01c2a7b331c8877f73dbd7b4872367b64265e3622836",
      "size": 15906
    },
    "skills/innovation-capture/SKILL.md": {
      "sha256": "a0afdad593bde31771b0f7cda70f175caf259924b81a1fc50c323b661be1d63c",
      "size": 7373
    },
    "skills/innovation-capture/references/idea-identification.md": {
      "sha256": "b28d11de3dfa121e58bdb36edc2714139a11f70261eb6a1e0ec1dc19d93dbba3",
      "size": 4979
    },
    "skills/innovation-capture/references/lightbringer-authoring.md": {
      "sha256": "51c403da5e63d6d117ad883c69408ef71e4a0c8fb35c2bb1b8fdece0b23b8328",
      "size": 2964
    },
    "skills/innovation-capture/references/service-conduct.md": {
      "sha256": "8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a",
      "size": 1599
    },
    "skills/innovation-capture/references/source-exploration.md": {
      "sha256": "0c86c32d1e9037a0e7c10028d68936d1041781b8b3675d3ee5f60269532ab2ec",
      "size": 9504
    },
    "skills/innovation-capture/references/source-mining.md": {
      "sha256": "add8fb86985fbc27824f8ed0cf6656a15f538e9c3d23b88372913881a7fbafbd",
      "size": 9937
    },
    "skills/ip-strategy/SKILL.md": {
      "sha256": "52597b574422b1016a4446052606637846b9aa3891bf3910e0b1c632f7d423aa",
      "size": 6686
    },
    "skills/ip-strategy/references/mcp-workflow.md": {
      "sha256": "70b3d64d497c7c9fa58ac44f9beb763d40c2a95e1876845e2e1cefa4f5bdca57",
      "size": 8470
    },
    "skills/ip-strategy/references/strategy-playbook.md": {
      "sha256": "77340b577db6fac3c88ec31824c1d5322aaa71ff7b400f6f233deefac832161f",
      "size": 10344
    },
    "skills/patent-portfolio/SKILL.md": {
      "sha256": "b2a98519588d87652348c88f06de1d0d4c0917f86413e99f9f92b039d0972258",
      "size": 5466
    },
    "skills/patent-portfolio/references/assignee-identification.md": {
      "sha256": "a04f15a45034add1ed824c820f1981cff75e8c0541cf81fa09b3cb7b80ff4193",
      "size": 2170
    },
    "skills/patent-portfolio/references/import-and-refresh.md": {
      "sha256": "403cba8d4fd7a7621b1219e350f0f5ab92102d8cc944e14899bccbe61a0778ba",
      "size": 5645
    },
    "skills/patent-portfolio/references/saved-portfolio.md": {
      "sha256": "8197c06aace1f9b0b882cc77ddad4a6006e443f20c266163c3492d140882cbed",
      "size": 5230
    },
    "skills/patent-preparation/SKILL.md": {
      "sha256": "be50f50b42884874367851747370c6a9da1d12ac745f1a792a84835db05d97f9",
      "size": 3703
    },
    "skills/patent-preparation/references/service-conduct.md": {
      "sha256": "8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a",
      "size": 1599
    },
    "skills/patent-review/SKILL.md": {
      "sha256": "e4e3cafd826be674a62998f91e492e2c17d2daded19c4ef2b16c15b021431a04",
      "size": 6442
    },
    "skills/patent-review/references/review-workflows.md": {
      "sha256": "242809094df88703918745793c1cc7419dc535b83096b7b452add388ad22e3dc",
      "size": 6381
    },
    "skills/patent-review/references/service-conduct.md": {
      "sha256": "8cd92ff33979d196ce1fcbb3f8f46ed43d6a97777340fc4c1caa7095e83b485a",
      "size": 1599
    }
  }
}

SHA-256 of public snapshot: 828fbb5c0bf39b37f266e27e9cb4aabf4cc6c577677945dceea667085c010bb2