Find text that was already saved
Campaign > Briefings opens a paginated list of current contracts and pending contract choices. Briefing history lists past contracts and resolved choices. Open a contract, then Mission briefings to browse only its missions, including completed missions. Open a mission for its briefing versions. Missions without a linked contract have a separate list; the application never guesses a parent from a name or date. Breadcrumbs return from a mission to its contract and mission list; direct record links still work. Each contract or mission lists whether contract text is saved, how many drafts await review and whether a player briefing is published. Open Read latest saved draft to recover a saved version. A draft is saved but remains invisible to players until reviewed and published. A private contract option also keeps its published player versions private until the source becomes available.
Contract editor text and briefing versions are separate records. The library shows the contract text and versions together. Generate contract terms rolls mechanical starting terms; it does not write a narrative. The contract terms screen also links to its latest saved draft and published player version.
Shared contract options do not fix company scales. Briefing generation receives the shared baseline without the old internal scale-one default. Saved accepted company scales remain separate, and mission deployment scales remain separate again. Existing generated prose is not rewritten by an update.
If source context changed, Create revision with current context keeps the saved narrative and refreshes review context without an AI request. Published versions remain immutable. Briefing edits, context saves, revisions and publication update asynchronously with local errors; normal server-rendered forms remain available without JavaScript.
Connect the server
Run Admin → Database updates after uploading v72. Set OPENAI_API_KEY in the hosting environment, or add openai_api_key to the private config.php outside public/. Never paste the key into chat, browser code or a public file. Preserve private configuration during uploads. PHP cURL and outbound HTTPS to api.openai.com are required.
Open Admin → AI briefing settings, choose GPT-5.6 Terra or GPT-5.4 Mini, set the monthly allowance in US cents (500 = $5), and enable GM generation. Generation starts disabled. The key status only confirms a key is configured; it does not test billing or model access.
API charges are separate from ChatGPT subscriptions. The application allowance applies across this installation using UTC months; it does not buy credits, include other applications, or replace provider spending controls. AI briefing usage shows estimated charges and conservative reservations, including pending or failed attempts. Unknown usage stays reserved until the next month; no automatic retry occurs. Estimates use uncached standard model rates and should be checked against current provider pricing.
Prepare characters and context
Select a company, then open Company Information → Character backgrounds. Players can edit their own company pilots and commanders; GMs can edit all campaign profiles. Enter background, personality, motivations and relationships, then opt the character into AI context. Included profiles can appear in player briefs; keep secrets in private GM briefing notes instead.
Open Campaign → Briefings, or Contract briefing / Track briefing on a source record. Choose Prepare briefing context. Enter the planet name, approved situation and objectives, tone and any private GM notes. Link a related contract for track continuity. Planet lookup uses the campaign date; unmatched names remain unknown rather than gaining invented facts. Prepared operation / OpFor source links a scheduled operation to a contract brief: its approved intelligence is available to player generation, while its full OpFor is available only to GM generation. A blank planet field falls back to the contract location.
Select up to ten prior completed tracks from the relevant contract. Their company outcomes, approved events and latest published player briefs provide continuity. Only included characters in participating companies are sent. Notes on unrecorded losses, salvage, relationships and story consequences must be approved and entered explicitly. Save briefing context.
Imported Domain — Pirate Hunting, Tukayyid — Raid against ComStar and St. John — Garrison Duty appear once each as shared contracts. All participating company characters and each company’s separate spreadsheet terms and transaction rows supply narrative context. Related contract appears only for track briefings; contract briefs use their own contract directly.
Company terms and accounting opens the participating-company list; choose a company to see its saved tab rows, gross costs, coverage, company payments and income. Run Admin > Database updates after uploading v74. The migration stores shared contract identities, company participation links and imported tab history in the database. Briefings and accounting read those database records; live spreadsheets are not refreshed. Unknown amounts remain unknown. Rows flagged beyond the import cutoff are visible for review but excluded from generation and summary totals. The archive never replays payments or changes balances.
Generate and publish
Open Generate a new briefing draft, then select Player briefing or GM briefing. Player requests exclude private GM notes and full OpFor. GM requests include saved OpFor, mission preparation and private notes. Generation sends the selected fictional campaign data to OpenAI and creates an editable draft; it does not change terms, statistics, mission results or payments.
Use Edit briefing to adjust the narrative and GM review notes. Review and publish requires a GM check of facts and visibility. GM review notes never appear to players, and GM briefs remain private even after publication. Player briefs become readable by campaign members when their source is available; draft poll briefs stay hidden until the poll opens.
The briefing overview and contract-poll terms page show the latest published player briefing in full. Publishing does not copy prose into contract terms: the saved published version supplies the narrative directly. Separate contract-editor text remains visible as Additional contract notes when it differs. Empty editor notes do not mean a published narrative is missing. Drafts and GM-only versions never replace the player narrative; use the version links to read their permitted contents.
Published versions cannot be overwritten. Create revision with current context makes a new draft without an API call; review the prose against the refreshed facts. If source context changed before publication, create a revision or regenerate first. Each generation costs API usage; reading, manual edits, revisions and publication do not.
Generation is limited to 60 KB of request data and 4,000 total output tokens. If context is too long, shorten profiles or choose fewer past tracks. No background worker is required; keep the request open while generation runs. An interrupted request can retain its reservation. A failed generation never replaces a published briefing.
Earlier company briefing versions remain listed under the shared contract. Earlier saved context links preserve existing notes without merging conflicting company drafts. Prepare shared context for new shared briefs. Older drafts may need Create revision with current context before publishing because their source now includes all participating companies and accounting history.
Pilot draft suggestions
Enable AI briefings and pilot suggestions controls both the GM briefing writer and player-owned Veteran Command name/background generation. Both use the same configured model and monthly allowance.
Pilot requests contain the entered name, category, preferences, company name, affiliation and campaign date. They do not include private GM briefing or OpFor data. Suggestions are not automatically saved to the roster.