← GrainCONTENT HISTORY

Update to Grain

Snapshot Oct 27, 2026 · 00:06 UTC · version 2.0.1

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

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

Save Grain and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Sep 30, 2026 · 23:20 UTC

237d0a9a87929eee43eea1915ae8b7fdfb99572e56ee516cd7134436f283d2d9

After

Oct 27, 2026 · 00:06 UTC

b691ac5a9a2e80a9de81f2fe51be0f37a7bf25160d19c4387af6a62450cd64de

Package file

Before

Sep 30, 2026 · 23:20 UTC

127

After

Oct 27, 2026 · 00:06 UTC

97

Package file

Before

Sep 30, 2026 · 23:20 UTC

57e3ab13805adf3064217db593a3603ad6244b9b3fa73fd923cbf316a0123bc7

After

Oct 27, 2026 · 00:06 UTC

bed821d9162dfdd2c1f677798727feedeb8278ab7ead2ed58c6dab849047fd55

Package file

Before

Sep 30, 2026 · 23:20 UTC

2007

After

Oct 27, 2026 · 00:06 UTC

2134

Compare saved observations

Download comparison JSON
Full technical diff · 37 changed fields

changed /files/.app.json/sha256

BEFORE
"237d0a9a87929eee43eea1915ae8b7fdfb99572e56ee516cd7134436f283d2d9"
AFTER
"b691ac5a9a2e80a9de81f2fe51be0f37a7bf25160d19c4387af6a62450cd64de"

changed /files/.app.json/size

BEFORE
127
AFTER
97

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

BEFORE
"57e3ab13805adf3064217db593a3603ad6244b9b3fa73fd923cbf316a0123bc7"
AFTER
"bed821d9162dfdd2c1f677798727feedeb8278ab7ead2ed58c6dab849047fd55"

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

BEFORE
2007
AFTER
2134

added /files/assets~1grain-icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "3f76013c36ac7e17b81684bf30c2f6d5d15e8aac311574a4924f5a6021bb9354",
  "size": 18823
}

removed /files/assets~1logo.png

BEFORE
{
  "sha256": "2eaabd67667ce38f3cab9e8e7f409da2b134623de549200db8d8ae0311ce881f",
  "size": 20595
}
AFTER
Field is absent

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "7558f99a3b8b0411741b3942616231b78e2672f276c69fec25371b9ee5db0a9a",
  "size": 195
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "92632ad3acaa25f46c92306af05e8a10dd6a20e9ce44b62193277000441e0440",
  "size": 2322
}

added /files/skills~1follow-up~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "51174ccbbc41a6f005dbf70c4aed8fc2a375f5083fd94cdc787cc7100ef72943",
  "size": 1444
}

added /files/skills~1follow-up~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "bdaf08a7947209d22067da6384499cc96163e64720cf0f1868726f1161e78838",
  "size": 221
}

added /files/skills~1follow-up~1references~1artifacts.md

BEFORE
Field was absent
AFTER
{
  "sha256": "40c04ec20f99b44186d7cf2cb0dd04a97776803fe86f64a27f3fcd209c8a4fae",
  "size": 2166
}

added /files/skills~1follow-up~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1follow-up~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}

added /files/skills~1heads-up~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "62bc97332bd694c4aaed58216d81402a827e5c859e0d0cd1394a6e2e9cf090f8",
  "size": 1297
}

added /files/skills~1heads-up~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "971577e62bbeaa4c85b1db090a69fa4cee8476fd4cc5bd0b09e20f7641349984",
  "size": 225
}

added /files/skills~1heads-up~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1prep-me~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "06605fae0c07f65f5c33b4e9331efb4a3e4d15810cb2d748e06aaf69889cf550",
  "size": 1254
}

added /files/skills~1prep-me~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "d0cc346d7bb655f4cb0c8dd33b1fcb77fb3ee75c4841c29364ffaade631f6024",
  "size": 214
}

added /files/skills~1prep-me~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1prep-me~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}

added /files/skills~1voice-of-customer~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "0840d3de5877dd9ed276bc7fcdd4181c7c928b1374dc5644a6c92d7afc86d6fe",
  "size": 1946
}

added /files/skills~1voice-of-customer~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "b73ed49d79ba97da99f466c42b4cb6b85c3efa1861ec573ab35206a441b9b167",
  "size": 228
}

added /files/skills~1voice-of-customer~1references~1customer-research.md

BEFORE
Field was absent
AFTER
{
  "sha256": "68f1336d2f4ceb8dcd7aaf26772796a3e6e56ff253c308508466f36e6727c050",
  "size": 3788
}

added /files/skills~1voice-of-customer~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1voice-of-customer~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}

added /files/skills~1what-did-we-say~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "4f337d3fcdfe997847f74bcc70e399eada2ded945f59d3a0cde9854389e3e471",
  "size": 1290
}

added /files/skills~1what-did-we-say~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "d4a53c9fdeaed1c03f0a4168fbf67ff639f6968055d513496154644f14de7411",
  "size": 221
}

added /files/skills~1what-did-we-say~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1what-did-we-say~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}

added /files/skills~1what-do-i-owe~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "a609414510d471670d89214a75591a451a0b3e1aba37191eab0bd569cb0b9d77",
  "size": 1335
}

added /files/skills~1what-do-i-owe~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "83f6b6d1b15f45296aef55e489baa6b543fdd0e43f90cb407032f267bc198374",
  "size": 222
}

added /files/skills~1what-do-i-owe~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1what-do-i-owe~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}

added /files/skills~1where-things-stand~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "742572051cbc5565e08a7ed745bccb2c2d86ec5e90df96f8f59a203274e855db",
  "size": 1365
}

added /files/skills~1where-things-stand~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "993658b5dbcd3eeb2f6b74c7f3f10c06e1c43ed5dcec86ccedef39f24bd80081",
  "size": 217
}

added /files/skills~1where-things-stand~1references~1evidence.md

BEFORE
Field was absent
AFTER
{
  "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
  "size": 1664
}

added /files/skills~1where-things-stand~1references~1retrieval.md

BEFORE
Field was absent
AFTER
{
  "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
  "size": 3247
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "b691ac5a9a2e80a9de81f2fe51be0f37a7bf25160d19c4387af6a62450cd64de",
      "size": 97
    },
    ".codex-plugin/plugin.json": {
      "sha256": "bed821d9162dfdd2c1f677798727feedeb8278ab7ead2ed58c6dab849047fd55",
      "size": 2134
    },
    "assets/grain-icon.png": {
      "sha256": "3f76013c36ac7e17b81684bf30c2f6d5d15e8aac311574a4924f5a6021bb9354",
      "size": 18823
    },
    "mcp.json": {
      "sha256": "7558f99a3b8b0411741b3942616231b78e2672f276c69fec25371b9ee5db0a9a",
      "size": 195
    },
    "plugin.json": {
      "sha256": "92632ad3acaa25f46c92306af05e8a10dd6a20e9ce44b62193277000441e0440",
      "size": 2322
    },
    "skills/follow-up/SKILL.md": {
      "sha256": "51174ccbbc41a6f005dbf70c4aed8fc2a375f5083fd94cdc787cc7100ef72943",
      "size": 1444
    },
    "skills/follow-up/agents/openai.yaml": {
      "sha256": "bdaf08a7947209d22067da6384499cc96163e64720cf0f1868726f1161e78838",
      "size": 221
    },
    "skills/follow-up/references/artifacts.md": {
      "sha256": "40c04ec20f99b44186d7cf2cb0dd04a97776803fe86f64a27f3fcd209c8a4fae",
      "size": 2166
    },
    "skills/follow-up/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/follow-up/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    },
    "skills/heads-up/SKILL.md": {
      "sha256": "62bc97332bd694c4aaed58216d81402a827e5c859e0d0cd1394a6e2e9cf090f8",
      "size": 1297
    },
    "skills/heads-up/agents/openai.yaml": {
      "sha256": "971577e62bbeaa4c85b1db090a69fa4cee8476fd4cc5bd0b09e20f7641349984",
      "size": 225
    },
    "skills/heads-up/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/prep-me/SKILL.md": {
      "sha256": "06605fae0c07f65f5c33b4e9331efb4a3e4d15810cb2d748e06aaf69889cf550",
      "size": 1254
    },
    "skills/prep-me/agents/openai.yaml": {
      "sha256": "d0cc346d7bb655f4cb0c8dd33b1fcb77fb3ee75c4841c29364ffaade631f6024",
      "size": 214
    },
    "skills/prep-me/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/prep-me/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    },
    "skills/voice-of-customer/SKILL.md": {
      "sha256": "0840d3de5877dd9ed276bc7fcdd4181c7c928b1374dc5644a6c92d7afc86d6fe",
      "size": 1946
    },
    "skills/voice-of-customer/agents/openai.yaml": {
      "sha256": "b73ed49d79ba97da99f466c42b4cb6b85c3efa1861ec573ab35206a441b9b167",
      "size": 228
    },
    "skills/voice-of-customer/references/customer-research.md": {
      "sha256": "68f1336d2f4ceb8dcd7aaf26772796a3e6e56ff253c308508466f36e6727c050",
      "size": 3788
    },
    "skills/voice-of-customer/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/voice-of-customer/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    },
    "skills/what-did-we-say/SKILL.md": {
      "sha256": "4f337d3fcdfe997847f74bcc70e399eada2ded945f59d3a0cde9854389e3e471",
      "size": 1290
    },
    "skills/what-did-we-say/agents/openai.yaml": {
      "sha256": "d4a53c9fdeaed1c03f0a4168fbf67ff639f6968055d513496154644f14de7411",
      "size": 221
    },
    "skills/what-did-we-say/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/what-did-we-say/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    },
    "skills/what-do-i-owe/SKILL.md": {
      "sha256": "a609414510d471670d89214a75591a451a0b3e1aba37191eab0bd569cb0b9d77",
      "size": 1335
    },
    "skills/what-do-i-owe/agents/openai.yaml": {
      "sha256": "83f6b6d1b15f45296aef55e489baa6b543fdd0e43f90cb407032f267bc198374",
      "size": 222
    },
    "skills/what-do-i-owe/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/what-do-i-owe/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    },
    "skills/where-things-stand/SKILL.md": {
      "sha256": "742572051cbc5565e08a7ed745bccb2c2d86ec5e90df96f8f59a203274e855db",
      "size": 1365
    },
    "skills/where-things-stand/agents/openai.yaml": {
      "sha256": "993658b5dbcd3eeb2f6b74c7f3f10c06e1c43ed5dcec86ccedef39f24bd80081",
      "size": 217
    },
    "skills/where-things-stand/references/evidence.md": {
      "sha256": "196167c290eda54749607cc1c92af2e739d2381ea845eed0a5a2ff4422900f80",
      "size": 1664
    },
    "skills/where-things-stand/references/retrieval.md": {
      "sha256": "370d1b93c6142e5bba3e4b3c81ba49302c1298b08e08f934428c6716389531db",
      "size": 3247
    }
  }
}

SHA-256 of public snapshot: 7fd0cf3317273c0f19a7040525ab9fceeefb146472e50362f3539b0d15cd5627