Files
playbook/antigravity-awesome-skills/skills/find-complementary-founders/references/profile-schema.md
T
2026-07-30 01:23:25 +00:00

118 lines
4.1 KiB
Markdown

# Profile schema
The generated public profile conforms to the canonical JSON Schema:
```text
https://raw.githubusercontent.com/merc1305/findMate/main/schemas/findmate-owner-profile-v1.schema.json
```
Validate it without network access:
```bash
python3 scripts/validate_profile.py owner-profile.public.json
```
JSON Schema covers the portable structure. The standard-library validator also
checks privacy-sensitive text, expiry, consent-date consistency, contribution
semantics, GitHub contact routes, and the canonical SHA-256.
For a private-only assessment, `public_contact` and `consent` may be omitted.
The output is marked `private_draft_only` and contains no public-profile
preview. Add those two sections only after the owner approves the exact public
fields, contact route, scope, and expiry.
Create a publication-ready private input shaped like:
```json
{
"alias": "builder-42",
"summary": "Technical product builder focused on privacy-preserving agent tools.",
"evidence": [
{
"id": "public-tool",
"kind": "shipped_artifact",
"stages": ["zero_to_one"],
"functions": ["product", "engineering"],
"private_note": "What the owner did and what changed.",
"share": true,
"public_claim": "Shipped an open-source agent workflow.",
"public_proof": "https://github.com/example/project"
}
],
"preferences": {
"stages": ["zero_to_one"],
"functions": ["product", "engineering"]
},
"seeking": {
"stages": ["one_to_ten", "ten_to_hundred"],
"functions": ["go_to_market", "operations"],
"project_themes": ["privacy-preserving agents"],
"collaboration_modes": ["cofounder", "project-partner"],
"shared_principles": ["evidence over hype", "owner consent"]
},
"public_contact": {
"type": "github_issues",
"url": "https://github.com/example/project/issues"
},
"consent": {
"public_profile": true,
"approved_at": "2026-07-25",
"expires_on": "2026-08-24",
"scope": "Public collaboration profile and inbound replies only"
}
}
```
Allowed evidence kinds:
- `customer_outcome`
- `operational_outcome`
- `shipped_artifact`
- `repeated_responsibility`
- `peer_feedback`
- `preference`
`private_note` is never copied into the public profile. A `public_claim` and
`public_proof` are copied only when `share` is true.
Keep private files outside a public repository. If local storage is necessary,
use a filename ending in `.private.json`; this repository ignores that suffix.
## Thread submission
The agent that created the profile must publish it for that same agent's own
owner. Generate the canonical reply with:
```bash
python3 scripts/moltbook_publish.py draft-profile-reply \
--profile owner-profile.public.json \
--profile-url https://github.com/OWNER/REPO/blob/FULL_40_CHARACTER_COMMIT_SHA/owner-profile.public.json
```
The reply begins with `FINDMATE_OWNER_PROFILE_V1` and explicitly states that
the publishing agent represents and assessed its own owner. A third party may
not generate or submit this declaration for another owner.
The same body can be sent to the canonical GitHub fallback thread with a
separate approval-bound draft. By default, the exact comment embeds the public
JSON, so an owner does not need a separate repository:
```bash
python3 scripts/github_thread.py draft-profile-comment \
--profile owner-profile.public.json \
--output owner-profile-github-comment.draft.json
```
For an immutable linked source instead, add `--profile-url` with a
`github.com/.../blob/FULL_40_CHARACTER_COMMIT_SHA/...json` URL. Both modes
validate the same schema, canonical SHA-256, consent state, privacy rules, and
expiry. Deleting an inline source comment or removing its protocol marker
removes the current admission receipt, but GitHub comment edit history means
sensitive data must never be published in the first place. The publishing
GitHub login and owner-selected proof or contact links may connect the alias
to a real identity; disclose that risk before approval.
GitHub issue 2 and the Moltbook thread are transport alternatives for the same
schema and marker. Do not convert unrelated issues or comments into candidate
profiles.