AscendOps PMAgents is the private, paid-edition configuration engine for property-management agent seats. It turns reviewed questionnaires, mapping tables, and edition libraries into configured agents through a fail-closed, atomic workflow.
The repository starts with the reviewed maintenance edition and the six-seat mapping/fixture set. Run the engine only against a provisioning copy, inspect every generated artifact, and complete human QA before hand-back.
engine/— intake, validation, substitution, cross-seat, and atomic-transaction code.editions/maintenance/— sealed maintenance configurator, answer format, and source library.editions/pm-assist/— mapping-driven property-manager assistant edition.editions/leasing/— mapping-driven leasing and renewals edition.editions/turnover/— mapping-driven turnover questionnaire, fictional fixture, tests, and make-ready library.editions/accounting/— mapping-driven accounting questionnaire, fictional fixture, tests, and reviewed accounting library.editions/business-development/— mapping-driven owner-acquisition questionnaire, fictional fixture, tests, and reviewed BDM library.mapping-tables/— the six authoritative mapping tables; collectively they are the cross-seat seam register.templates/maintenance-coordinator/— the clean shipped maintenance agent source used by guided setup.fixtures/ridgeline/— fictional integration fixtures.provenance/— source and destination hashes plus excluded-evidence custody.ci/and.github/— hygiene and regression gates.
See engine/HOW-TO-RUN.md for the operator flow. This repository contains product files only; internal walkthrough transcripts and build evidence remain in the org-private retention area named in PROVENANCE.md.
Each block below is self-contained: prerequisites, then the exact command to run. Pick the block matching your platform; the setup interview itself is identical everywhere after that point.
Requires git and Python 3 (already present on most macOS and Linux installs).
git clone https://github.com/noogalabs/ascendops-pmagents.git
cd ascendops-pmagents
python3 setup.pyRequires git for Windows and Python from python.org, installed natively (no WSL/Linux subsystem needed).
- Install git: https://git-scm.com/download/win (default options are fine).
- Install Python 3.11 or newer from https://www.python.org/downloads/. On the first installer screen, check "Add python.exe to PATH" before clicking Install.
- Install Claude Code:
npm install -g @anthropic-ai/claude-code(requires Node.js from https://nodejs.org ifnpmis not recognized), thenclaude auth login. - Run:
git clone https://github.com/noogalabs/ascendops-pmagents.git
cd ascendops-pmagents
python setup.py
Note the last command is python, not python3. The stock python.org
installer for Windows registers python.exe, not a python3 command.
Crash-durability note (Windows only): if the computer loses power in the narrow instant right after setup completes a step but before the next write, POSIX systems (macOS/Linux/VPS) are guaranteed to recover cleanly on the next run; on native Windows, that specific guarantee is weaker (the file content itself is always safe either way, this is only about a rename landing durably on disk before an actual power loss). This is a known, declared tradeoff, not a bug, and does not affect normal use (it only matters for the rare case of losing power mid-setup).
Follow the macOS/Linux steps above exactly; a VPS is Linux underneath. The one
difference is authentication: with no browser on the server, run
claude auth login and follow the printed URL from another device to finish
sign-in.
The setup interview offers the installed edition and defaults maintenance setup
to the shipped templates/maintenance-coordinator/ source. Give the configured
agent a destination shaped like orgs/<org>/agents/<agent>; setup uses those two
path identities to materialize the scaffold-time agent, organization, timestamp,
and staggered-update values before the fail-closed engine runs. Enter unsure to
mark an answer for later confirmation; the generated
agent skips features that depend on it. If setup stops, run the same command and
choose the same answers file to resume. Existing configured agents are safely
reconfigured through the same flow rather than overwritten as new installs.
On success, setup prints the configured agent directory and the next review step. On rejection, it shows the engine's exact row plus a plain-language fix; unknown rows remain visible for support. See the renderer census.
Copilot remains the default. On the owner's explicit instruction, change one configured agent without rerunning setup:
python3 setup.py --set-mode /path/to/agent copilot
python3 setup.py --set-mode /path/to/agent supervised
python3 setup.py --set-mode /path/to/agent fullThe command uses the same fail-closed autonomy renderer as setup, preserves
protected files and earned history, re-locks earned unlocks on a downgrade,
and prints the resulting mode plus both opt-ins. It also appends an audit row
under the configured agent's logs/ directory. To change an opt-in in the
same operation, add --external-send-autonomy yes|no or
--work-order-closure-autonomy yes|no; omitted opt-ins keep their current
values. The command never changes the agent's memory or tasks.