';
$out .= 'The Value Layer and the Ğ1 Wallet are optional. ';
$out .= 'Ğ1 is a libre currency independent of fiat, used for valuing and bartering surplus capacity among private individuals. ';
$out .= 'The Civic Infrastructure implements it for participants who choose to engage in that economy. ';
$out .= 'It is not required for participation in the diagnostic record system.';
$out .= '
';
return $out;
}
// ----------------------------------------------------------------------------
// SIGNAL BOARD
// ----------------------------------------------------------------------------
function cry01_render_signal_board($association_slug, $access) {
// Renders the signal board. Visible to participants and operator only.
if ($access === 'public') {
return '
Signal board is visible to verified participants only.
';
}
// TODO: load signals from orchestrator spool for this association.
$out = '
';
$out .= '
Capacity Signals
';
$out .= '
No signals posted yet.
';
$out .= '
';
return $out;
}
// ----------------------------------------------------------------------------
// SIGNAL FORM
// ----------------------------------------------------------------------------
function cry01_render_signal_form($association_slug, $access) {
// Renders the capacity signal registration form.
// The g1_pubkey field is populated by the g1wallet session event when available.
$config = cry01_load_config();
$categories = $config['signal_categories'] ?? [];
$form_url = z_root() . '/cry01/' . cry01_h($association_slug) . '/signal';
$out = '
';
$out .= '
Register a Capacity Signal
';
$out .= '
Describe what you are offering or seeking, denominated in Ğ1.
';
// Wallet session note — replaced by g1wallet integration once built.
$out .= '
Your Ğ1 public key will be populated automatically once the Ğ1 Wallet addon is installed. Until then, enter it manually below.
';
$out .= '';
$out .= '
';
return $out;
}
// ----------------------------------------------------------------------------
// Ğ1 CERTIFICATION CANDIDATE LIST
// ----------------------------------------------------------------------------
function cry01_render_g1_candidates($association_slug) {
// Renders the operator-only list of SASE participants with registered Ğ1 keys.
// TODO: load candidate list from orchestrator spool.
$out = '
';
$out .= '
Ğ1 Certification Candidates
';
$out .= '
SASE participants who have registered a Ğ1 public key and are eligible for web of trust certification.
';
$out .= '
No candidates registered yet.
';
$out .= '
';
return $out;
}
// ----------------------------------------------------------------------------
// MANAGE
// ----------------------------------------------------------------------------
function cry01_render_manage($association_slug) {
// Renders the operator manage page: cache refresh and config status.
// The Ğ1 public key comes from the wallet session — not from config.
$cache = cry01_read_cache();
$refreshed = $cache['refreshed_at'] ?? null;
$config = cry01_load_config();
$has_rpc = !empty($config['g1_rpc_endpoint']);
$manage_url = z_root() . '/cry01/' . cry01_h($association_slug) . '/manage';
$out = '