Skip to content

Add the org profile README that actually renders - #3

Merged
EllAchE merged 1 commit into
mainfrom
s-130225-org-profile-readme-20260726-001641
Jul 26, 2026
Merged

Add the org profile README that actually renders#3
EllAchE merged 1 commit into
mainfrom
s-130225-org-profile-readme-20260726-001641

Conversation

@EllAchE

@EllAchE EllAchE commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Why: github.com/usestring renders no README at all, and couldn't. GitHub builds an org profile only from a repo named exactly .github, at exactly profile/README.md — and no such repo existed. .usestring was the user-profile convention (repo name == username) misapplied to an org, where GitHub gives it no special treatment, so the org's Overview tab has been blank since the org was created.

Copilot PR #1 tried to fill that gap and would have made things worse. It hallucinated the company's positioning from the org name — "an organization focused on building tools and libraries for string manipulation, processing, and utilities," with a mission to ship "string utilities across different programming languages" — and wrote it to the path that renders nowhere. Closed rather than salvaged: the premise was wrong, not the wording.

What changed:

  • Renamed .usestring.github so a profile can render at all. This is also GitHub's canonical home for org-wide community-health defaults (CONTRIBUTING.md, SECURITY.md, ISSUE_TEMPLATE/), and it carries the existing S-125938 gitleaks baseline along untouched. Old /.usestring URLs redirect automatically. Workflows inside a .github repo do not propagate to other repos, so there are no CI side effects — the gitleaks workflow keeps running on this repo only, exactly as before.
  • Added profile/README.md — the actual landing page: positioning, the /v1/fetch quickstart, MCP setup both local and hosted, the five public repos with what each is genuinely for, and the Web Data Frontier Benchmark top five.
  • Rewrote the root README.md, which was the bare string # .usestring, to document what the repo holds and why the name is load-bearing — so nobody renames it back.

Considered and rejected: creating a new .github repo and leaving .usestring in place. That works, but leaves a stub repo whose name implies a profile role it does not have, which is what caused this confusion in the first place.

Every claim is sourced, not inferred — the failure mode of PR #1:

Claim Source
Positioning, free-tier and billing-on-success terms usestring.ai homepage + pricing
POST https://request.usestring.ai/v1/fetch, Bearer auth, format: markdown portal.usestring.ai/docs quickstart
npx @usestring/mcp, mcp.usestring.ai/KEY/v1/mcp usestring.ai homepage MCP section
Benchmark table, run date, 6,750-request methodology web-data-frontier-benchmark official run 2026-07-15
Per-repo descriptions, languages, licenses each repo's own README + GitHub API
"Built in New York City", careers link usestring.ai About + /careers

Deliberately not included: Composer, which the site lists as unshipped ("waitlist open"), and the private repos.

Test plan

  • Rendered profile/README.md through GitHub's own POST /markdown API (mode: gfm) and inspected the HTML: both tables become <markdown-accessiblity-table>, all five align="center" blocks hold, both shell fences get highlight-source-shell with $STRING_API_KEY and the single-quoted JSON body intact, and zero raw pipe-row syntax leaks.
  • All 11 links extracted from the rendered HTML and resolved. The five github.com/usestring/* repos exist and are public; /careers returns a real page ("Open roles at String"); /blog/web-scraping-benchmark-problem is the URL the benchmark repo's own README points at.
  • portal.usestring.ai/sign-up loads its page shell — the form itself is client-rendered by Clerk, so text extraction sees only the marketing panel. Link is taken from the homepage's own CTA rather than guessed.
  • Confirmed via the GitHub docs that .github + profile/README.md is the required combination, and that a public repo is required for a public profile.
  • After merge: confirm the page renders on the Overview tab at github.com/usestring (profile READMEs only render from the default branch).

On UI evidence: this is a GitHub-rendered markdown page, not a web-UI submodule — there is no dev server or route to drive, so the Playwright capture doesn't apply. The POST /markdown render check above is the equivalent verification, run against GitHub's own renderer rather than a local approximation.

Fixes S-130225

Agent Audit

  • Action: create-pr
  • Timestamp: 2026-07-26T04:20:25Z
  • Agent: claude
  • Agent type: claude
  • Triggered by: loganharless
  • Origin: loganharless@MacBook-Pro-5
  • Session: cfdf9d1b-6e78-4093-b4eb-df6443125ac5
  • Source repo: usestring/.github
  • Worktree: /Users/loganharless/Desktop/da/worktrees/usestring-dotgithub-profile-20260726-001641
  • Branch: s-130225-org-profile-readme-20260726-001641
  • Head commit: 6c19033
  • tmux pane: %805
  • tmux session: apc-12518-11403

github.com/usestring showed no README because an org profile can only come
from a repo named `.github` at `profile/README.md`. This repo was named
`.usestring` — the user-profile convention (repo == username) misapplied to
an org, which GitHub gives no special treatment. Renamed to `.github` and
added the profile page.

Content is sourced, not inferred: the /v1/fetch quickstart from portal docs,
the benchmark table from web-data-frontier-benchmark's official 2026-07-15
run, and the five public repos from their own READMEs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@EllAchE EllAchE added the claude PR primarily authored by Claude label Jul 26, 2026
@EllAchE
EllAchE merged commit 86ca94e into main Jul 26, 2026
1 check passed
@EllAchE
EllAchE deleted the s-130225-org-profile-readme-20260726-001641 branch July 26, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude PR primarily authored by Claude

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant