Skip to content

fix(public): mirror TinyStudio identity and the Website Appraisal in llms.txt/offer.md - #19

Merged
nish3451 merged 1 commit into
mainfrom
fix/llms-offer-identity-mirror
Aug 8, 2026
Merged

fix(public): mirror TinyStudio identity and the Website Appraisal in llms.txt/offer.md#19
nish3451 merged 1 commit into
mainfrom
fix/llms-offer-identity-mirror

Conversation

@nish3451

@nish3451 nish3451 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

What this is

Repository-only clarification of the machine-readable identity and offer
surfaces (public/llms.txt and its mirror public/offer.md), promoting the
refined candidate 2 patch (commit 13feb88) with the deterministic guards
kept and tightened.

  • intended-outcome: align AI-readable TinyStudio identity and current offer facts so engines are less likely to confuse same-name entities or retired offer framing
  • verify: /home/nish/.local/bin/test-gate npm run check; /home/nish/.local/bin/test-gate npm test; git diff --check; sgscan
  • repository proof only: no live panel improvement claimed; no deployment in Phase 2

What changed

  1. public/llms.txt gains a machine-readable ## Identity section (first-party facts only: business behind tinystudio.io, the same-name businesses this TinyStudio is not, operator, no-base-city statement), links its mirror (offer.md) and the audit page that embeds the AI-search evidence artifact.
  2. public/offer.md gains the reciprocal mirror link and both files' offer sections now describe the current Website Appraisal in the site's own words, pointing at pricing.html for price and terms. Retired Website Correction / founder-pilot / MSP-buyer wording removed; no dollar amounts or refund language restated.
  3. scripts/check-site.mjs and scripts/test-agent-ui.mjs fail loudly on drift of identity/disambiguation facts between the pair, missing mirror links, stale offer framing, restated price/refund terms, and source citations without a title or duplicated within a run.
  4. evidence-fixtures/ai-search/README.md documents the mirror rules; docs/evidence/ai-search/2026-08-08-llms-offer-identity-mirror.md records the pass.

Deliberately unchanged

  • evidence-fixtures/ai-search/evidence.json and controlled-questions.json are byte-identical (git hashes unchanged). Historical runs, states (found / wrong / absent / not-tested) and verbatim captures are untouched.
  • No HTML pages, pricing, legal, auth, payments, leads, dependencies, lockfiles, migrations or deploy config touched.
  • No live engine runs performed or claimed; this pass makes no ranking, visibility, lead or revenue claim.

Verification (all passed)

  • /home/nish/.local/bin/test-gate npm run check — TinyStudio.io checks passed
  • /home/nish/.local/bin/test-gate npm test — 51 worker + 15 UI tests, 0 failures
  • git diff --check — clean
  • sgscan — exit 0; warnings only in pre-existing baseline files (.github/workflows/ci.yml, public/agent-desk.html, public/audit.html, public/index.html, src/worker.js, study/harvest.py, study/scan.py); none in changed files

Summary by CodeRabbit

  • Content Updates

    • Renamed the offer to The Website Appraisal.
    • Clarified the free human-reviewed leak audit, follow-up desk service, eligible buyers, deliverables, capacity, and pricing-page reference.
    • Added consistent business identity and offer details across machine-readable public pages.
  • Documentation

    • Added an audit receipt describing identity clarification, validation coverage, and verification results.
    • Expanded evidence-fixture guidance for mirrored public content and consistency rules.
  • Quality Improvements

    • Added checks for consistent identity, links, titles, unique evidence URLs, and removal of outdated pricing, refund, and positioning language.

…llms.txt/offer.md

The machine-readable pair (llms.txt and its mirror offer.md) now carries
the same identity facts as the homepage and audit page: TinyStudio is the
business behind tinystudio.io, the same-name businesses it is not, the
operator, and the no-base-city statement. The offer sections describe the
current Website Appraisal in the site's own words and point at
pricing.html for price and terms instead of restating them, replacing the
retired Website Correction / founder-pilot / MSP-buyer framing.

check-site.mjs and test-agent-ui.mjs now fail loudly when identity or
disambiguation facts drift between the pair, when the pair stops linking
each other, when llms.txt stops pointing at the audit page's evidence
artifact, when either file restates a dollar amount or refund language,
or when either file revives the retired offer framing. Source citations
must now carry a title and be unique within a run. The AI-search
evidence fixture stays byte-identical; historical runs, states and
captures are untouched, and no live engine run is claimed.

Co-Authored-By: Claude <noreply@anthropic.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR replaces Website Correction messaging with Website Appraisal messaging. It synchronizes identity and offer facts across llms.txt and offer.md, adds reciprocal linking, and strengthens static checks and agent tests for source validity and retired language.

Changes

Website Appraisal identity and validation

Layer / File(s) Summary
Website Appraisal offer surfaces
public/llms.txt, public/offer.md, evidence-fixtures/ai-search/README.md, docs/evidence/ai-search/...
The public mirrors now describe the free, human-reviewed Website Appraisal and its three-month desk service. The documentation records identity facts, links, validation rules, unchanged fixtures, and verification results.
Site contract validation
scripts/check-site.mjs
Checks now validate normalized mirrored facts, titled and unique evidence sources, reciprocal artifact links, audit links, and removal of retired pricing, refund, and Website Correction language.
Agent test coverage
scripts/test-agent-ui.mjs
Tests now enforce Website Appraisal positioning, mirrored identity facts, cross-links, pricing-page references, prohibited terms, and unique titled sources.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: mirroring TinyStudio identity and the Website Appraisal in public machine-readable files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/llms-offer-identity-mirror

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/evidence/ai-search/2026-08-08-llms-offer-identity-mirror.md`:
- Around line 107-111: Declare the fenced command block’s language as sh by
updating the fence around the commands near npm run check, npm test, and git
diff --check; leave the commands unchanged.

In `@scripts/check-site.mjs`:
- Around line 709-734: Expand the stale-content validation in the check-site
guard to reject textual prices such as “USD 500” and “500 dollars,” money-back
guarantee wording, and standalone “Managed IT” or “MSP” terms in addition to the
existing checks. Apply identical patterns and failure expectations in the
corresponding validation logic in test-agent-ui.mjs so the test mirrors the
guard.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aaed9d47-58dd-4a37-9988-d91615618055

📥 Commits

Reviewing files that changed from the base of the PR and between add1166 and 13feb88.

📒 Files selected for processing (6)
  • docs/evidence/ai-search/2026-08-08-llms-offer-identity-mirror.md
  • evidence-fixtures/ai-search/README.md
  • public/llms.txt
  • public/offer.md
  • scripts/check-site.mjs
  • scripts/test-agent-ui.mjs

Comment on lines +107 to +111
```
npm run check
npm test
git diff --check
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Declare the fenced-block language.

markdownlint-cli2 reports MD040 for this command block. Use sh as the fence language.

Proposed fix
-```
+```sh
 npm run check
 npm test
 git diff --check
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.23.2)

[warning] 107-107: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/evidence/ai-search/2026-08-08-llms-offer-identity-mirror.md` around
lines 107 - 111, Declare the fenced command block’s language as sh by updating
the fence around the commands near npm run check, npm test, and git diff
--check; leave the commands unchanged.

Source: Linters/SAST tools

Comment thread scripts/check-site.mjs
Comment on lines +709 to +734
const staleOfferPhrases = [
"Website Correction",
"founder pilot",
"founder-pilot",
"Managed IT, MSP"
];
for (const phrase of staleOfferPhrases) {
if (llms.toLowerCase().includes(phrase.toLowerCase())) {
failures.push(`llms.txt must not revive the retired offer framing: ${phrase}`);
}
if (offer.toLowerCase().includes(phrase.toLowerCase())) {
failures.push(`offer.md must not revive the retired offer framing: ${phrase}`);
}
}
if (/\$\s?\d/.test(llms)) {
failures.push("llms.txt must not restate a dollar amount; pricing.html owns the price.");
}
if (/\$\s?\d/.test(offer)) {
failures.push("offer.md must not restate a dollar amount; pricing.html owns the price.");
}
if (/\brefund\w*\b/i.test(llms)) {
failures.push("llms.txt must not restate refund terms; pricing.html owns them.");
}
if (/\brefund\w*\b/i.test(offer)) {
failures.push("offer.md must not restate refund terms; pricing.html owns them.");
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Block alternate price, refund, and MSP wording.

/\$\s?\d/ accepts price claims such as USD 500 and 500 dollars. /\brefund\w*\b/ accepts refund claims such as money-back guarantee. The exact "Managed IT, MSP" match accepts retired buyer wording such as MSPs.

These forms violate the documented content contract but pass this guard. Add patterns for textual dollar amounts, money-back language, and individual Managed IT and MSP terms. Apply the same patterns in scripts/test-agent-ui.mjs so the test verifies the guard.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/check-site.mjs` around lines 709 - 734, Expand the stale-content
validation in the check-site guard to reject textual prices such as “USD 500”
and “500 dollars,” money-back guarantee wording, and standalone “Managed IT” or
“MSP” terms in addition to the existing checks. Apply identical patterns and
failure expectations in the corresponding validation logic in test-agent-ui.mjs
so the test mirrors the guard.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 13feb88941

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/check-site.mjs
failures.push(`offer.md must not revive the retired offer framing: ${phrase}`);
}
}
if (/\$\s?\d/.test(llms)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Detect dollar amounts written without a dollar sign

The new drift guard is documented as preventing these machine-readable files from restating dollar amounts, but /\$\s?\d/ only rejects forms such as $2,500. If a later edit uses common alternatives such as USD 2,500, 2,500 USD, or 2,500 dollars, both this check and the matching UI test pass, allowing duplicated pricing to become stale relative to pricing.html. Validate the other dollar-denominated forms as well.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant