X Growth & Publishing System
A testing and educational project exploring X content research, draft review, publishing workflows, and outcome measurement.
Repository snapshot
X Growth & Publishing System
Testing and educational use for network research, publishing, and measured learning.
- Commits
- 143
- Stage
- Testing
- State
- SQLite
Work done
- growth-next opportunity planning
- Clearcote verified publication
- Measure → experiment → learn
X Growth & Publishing System
I use this project to study how content research, draft review, publishing, and measurement fit together. Its purpose is testing and education.
The hard part of AI-assisted publishing is not generating text. It is keeping research, recommendation, approval, publishing, and measurement as separate responsibilities.
- Problem: Research, relationship building, drafting, approval, publication, and learning become hard to audit when one agent is allowed to collapse them into a single action.
- Decision: keep source truth, relationship intelligence, recommendation, writing, approval, transport, measurement, and learning as separate owners. The normal main-feed path requires human approval; an explicitly started live First-1,000 mission may delegate only bounded Original/Quote/Thread approval with stored verification provenance.
- Proof: the current Node.js/SQLite system combines
growth-nextopportunity planning, relationship/event history, writing strategy, approved queue state, authenticated Clearcote browser publication with rendered tweet-ID verification, fixed-window measurements, experiments, and learned rules. - Status: testing and educational use; audience-growth outcomes have not been established here.
What it does
The project started as local X research and posting automation. It now brings research, conversation history, draft preparation, approval, and measurement into one workflow. The engineering challenge is keeping those steps inspectable, so a recommendation does not silently become an approved post.
The separation is deliberate. Observation is not relationship state. Recommendation is not selection. Selection is not approval. Approval is not transport. Measurement is not proof of causality.
Approval and delegation are separate lanes
For normal main-feed work, an AI recommendation cannot create an approved item by itself. A human selects the work, reviews the actual output, and approves it before the scheduler can treat it as publishable.
The First-1,000 operating mode adds one explicit alternative: a separately started live mission may delegate approval of Original / Quote / Thread items to the mission agent, but only inside that mission and with concrete stored verification provenance. Replies, Reposts, the ordinary human-approval path, and AUTO_POST remain separate authorities. Delegation is therefore a visible grant, not a side effect of generating a good draft.
The same separation continues after publication. Experimental results can suggest a strategy rule, but a suggestion has zero effect until a human explicitly accepts it. Retirement preserves the previous evidence instead of rewriting history.
Engagement is another lane. Engage Next ranks active conversations and relevant opportunities, with the human-reviewed path using exact approval/send. A persistent autonomous-reply operator is also implemented, but it is off by default and requires an explicit persisted Start grant. Live autonomous replies add stricter eligibility: recipient opt-in, a clear opt-out path, recorded X approval for the AI-reply use case, remaining operator budget/health eligibility, atomic claim ownership, and an official X API write transport. The current Clearcote browser publisher does not satisfy that final transport boundary, so live autonomous Start remains blocked.
Publishing became one lane of a network system
Raw audience observations stay separate from strategic relationship state. relationship_profiles and append-only relationship_events track target classes, interaction history, and derived relationship stages, while Engage Next prioritizes useful follow-ups before endless cold insertion.
Opportunity scoring also keeps Reach, Follow, Conversation, and Relationship potential separate. A large viral source can therefore be a weak relationship opportunity, while a smaller technical conversation can be a better place to contribute and build durable recognition.
Source truth still stays separate from workflow history. X Latest, X Momentum, GitHub Trending, Hacker News, and conversation observations are not the same thing as bookmarks, queue state, drafts, handled work, or publication history.
That distinction prevents a common automation bug: treating “I saw this before” as the same state as “I evaluated this,” “I built a relationship here,” “I used this,” or “I published something from it.”
First-1,000 mode is an experiment, not an X law
At a small-account stage, the conservative mature-account route was rejecting too many fresh opportunities before the system had enough relationship history to learn from. The current First-1,000 mode makes the bootstrap assumptions explicit instead of pretending they are universal platform rules.
growth-next reads the last-known-good X Latest and X Momentum observations, joins opportunity scores and route leverage, and surfaces a small set of usable candidates. The operator then inspects the exact live source in the authenticated browser before routing or publishing.
Freshness, momentum, conversation crowding, hook style, and borrowed distribution are treated as empirical variables. Thresholds can change when repeated account evidence justifies it; one viral source or one strong post does not become an algorithm theorem.
Measurements stay cautious
Published items can accumulate 15-minute, 1-hour, 6-hour, and 24-hour snapshots. Experiments keep their assignments and attribution confidence, while outcome language stays observational when the system cannot establish causality.
Growth Focus, writing strategy, and learned rules can influence later recommendations, but hard content gates, explicit human main-feed approval, and observed health constraints remain authoritative. The goal is not to manufacture a growth claim. It is to preserve enough provenance that later decisions can say what evidence they actually used.
Current operating boundary
Main-feed publication now uses the authenticated Clearcote browser UI. The browser publisher verifies the rendered result and captures the resulting tweet identity before local publication state is reconciled. Failed, partial, or ambiguous browser actions are not blindly replayed just to make the queue look complete.
That browser transport is suitable for the current human-reviewed and bounded mission workflows, but it is still not the official X API required by the separate autonomous live-reply contract.
Required media remains blocked until a real attachment path exists. The configurable continuous_scan AI profile is still shown as inactive because no semantic background consumer owns it; that is separate from the implemented autonomous-reply daemon described above.
What I learned
Approval should be a real system boundary, not a confirmation modal added at the end. Delegated automation is easier to reason about when its permissions are explicit.
The architectural boundary is straightforward: source evidence, relationships, recommendation, writing, approval, engagement authority, scheduling, transport, measurement, and learning should remain distinguishable states with distinguishable owners.