Compare commits
1 Commits
mimo/creat
...
mimo/code/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68802dc7d9 |
@@ -1,4 +1,4 @@
|
|||||||
const GiteaApiUrl = 'https://forge.alexanderwhitestone.com/api/v1';
|
const giteaApiUrl = 'https://forge.alexanderwhitestone.com/api/v1';
|
||||||
const token = process.env.GITEA_TOKEN; // Should be stored securely in environment variables
|
const token = process.env.GITEA_TOKEN; // Should be stored securely in environment variables
|
||||||
const repos = ['hermes-agent', 'the-nexus', 'timmy-home', 'timmy-config'];
|
const repos = ['hermes-agent', 'the-nexus', 'timmy-home', 'timmy-config'];
|
||||||
|
|
||||||
@@ -13,31 +13,6 @@ const branchProtectionSettings = {
|
|||||||
// Special handling for the-nexus (CI disabled)
|
// Special handling for the-nexus (CI disabled)
|
||||||
};
|
};
|
||||||
|
|
||||||
async function applyBranchProtection(repo) {
|
|
||||||
try {
|
|
||||||
const response = await fetch(`${giteaApiUrl}/repos/Timmy_Foundation/${repo}/branches/main/protection`, {
|
|
||||||
method: 'POST',
|
|
||||||
headers: {
|
|
||||||
'Authorization': `token ${token}`,
|
|
||||||
'Content-Type': 'application/json'
|
|
||||||
},
|
|
||||||
body: JSON.stringify({
|
|
||||||
...branchProtectionSettings,
|
|
||||||
// Special handling for the-nexus (CI disabled)
|
|
||||||
requiredStatusChecks: repo === 'the-nexus' ? false : true
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error(`Failed to apply branch protection to ${repo}: ${await response.text()}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(`✅ Branch protection applied to ${repo}`);
|
|
||||||
} catch (error) {
|
|
||||||
console.error(`❌ Error applying branch protection to ${repo}: ${error.message}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function applyBranchProtection(repo) {
|
async function applyBranchProtection(repo) {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`${giteaApiUrl}/repos/Timmy_Foundation/${repo}/branches/main/protection`, {
|
const response = await fetch(`${giteaApiUrl}/repos/Timmy_Foundation/${repo}/branches/main/protection`, {
|
||||||
|
|||||||
113
index.html
113
index.html
@@ -259,11 +259,10 @@
|
|||||||
<li>• Require CI ✅ (where available)</li>
|
<li>• Require CI ✅ (where available)</li>
|
||||||
<li>• Block force push ✅</li>
|
<li>• Block force push ✅</li>
|
||||||
<li>• Block branch deletion ✅</li>
|
<li>• Block branch deletion ✅</li>
|
||||||
<li>• Weekly audit for unreviewed merges ✅</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div style="margin-top: 8px;">
|
<div style="margin-top: 8px;">
|
||||||
<strong>DEFAULT REVIEWERS</strong><br>
|
<strong>DEFAULT REVIEWERS</strong><br>
|
||||||
<span style="color:#4af0c0;">@perplexity</span> (QA gate on all repos) |
|
<span style="color:#4af0c0;">@perplexity</span> (QA gate on all repos) |
|
||||||
<span style="color:#7b5cff;">@Timmy</span> (owner gate on hermes-agent)
|
<span style="color:#7b5cff;">@Timmy</span> (owner gate on hermes-agent)
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
@@ -276,19 +275,107 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="mem-palace-container" class="mem-palace-ui">
|
<div class="branch-policy" style="margin-top: 10px; font-size: 12px; color: #aaa;">
|
||||||
<div class="mem-palace-header">
|
<strong>BRANCH PROTECTION POLICY</strong><br>
|
||||||
<span>MEMPALACE</span>
|
<ul style="margin:0; padding-left:15px;">
|
||||||
<button id="mine-now-btn" class="mem-palace-btn" onclick="mineChatToMemPalace()">Mine Chat</button>
|
<li>• Require PR for merge ✅</li>
|
||||||
<button class="mem-palace-btn" onclick="searchMemPalace()">Search</button>
|
<li>• Require 1 approval ✅</li>
|
||||||
|
<li>• Dismiss stale approvals ✅</li>
|
||||||
|
<li>• Require CI ✅ (where available)</li>
|
||||||
|
<li>• Block force push ✅</li>
|
||||||
|
<li>• Block branch deletion ✅</li>
|
||||||
|
<li>• Weekly audit for unreviewed merges ✅</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="mem-palace-stats">
|
<div id="mem-palace-container" class="mem-palace-ui">
|
||||||
<div>Compression: <span id="compression-ratio">--</span>x</div>
|
<div class="mem-palace-header">
|
||||||
<div>Docs mined: <span id="docs-mined">0</span></div>
|
<span id="mem-palace-status">MEMPALACE</span>
|
||||||
<div>AAAK size: <span id="aaak-size">0B</span></div>
|
<button onclick="mineMemPalaceContent()" class="mem-palace-btn">Mine Chat</button>
|
||||||
|
</div>
|
||||||
|
<div class="mem-palace-stats">
|
||||||
|
<div>Compression: <span id="compression-ratio">--</span>x</div>
|
||||||
|
<div>Docs mined: <span id="docs-mined">0</span></div>
|
||||||
|
<div>AAAK size: <span id="aaak-size">0B</span></div>
|
||||||
|
</div>
|
||||||
|
<div class="mem-palace-logs" id="mem-palace-logs"></div>
|
||||||
|
</div>
|
||||||
|
<div class="default-reviewers" style="margin-top: 8px; font-size: 12px; color: #aaa;">
|
||||||
|
<strong>DEFAULT REVIEWERS</strong><br>
|
||||||
|
<ul style="margin:0; padding-left:15px;">
|
||||||
|
<li>• <span style="color:#4af0c0;">@perplexity</span> (QA gate on all repos)</li>
|
||||||
|
<li>• <span style="color:#7b5cff;">@Timmy</span> (owner gate on hermes-agent)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="implementation-status" style="margin-top: 10px; font-size: 12px; color: #aaa;">
|
||||||
|
<strong>IMPLEMENTATION STATUS</strong><br>
|
||||||
|
<div style="margin-top: 5px; display: flex; flex-direction: column; gap: 2px;">
|
||||||
|
<div>• <span style="color:#4af0c0;">hermes-agent</span>: Require PR + 1 approval + CI ✅</div>
|
||||||
|
<div>• <span style="color:#7b5cff;">the-nexus</span>: Require PR + 1 approval ⚠️ (CI disabled)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="mem-palace-status" style="position:fixed; right:24px; top:64px; background:rgba(74,240,192,0.1); color:#4af0c0; padding:6px 12px; border-radius:4px; font-family:'Orbitron', sans-serif; font-size:10px; letter-spacing:0.1em;">
|
||||||
|
MEMPALACE INIT
|
||||||
|
</div>
|
||||||
|
<div>• <span style="color:#ffd700;">timmy-home</span>: Require PR + 1 approval ✅</div>
|
||||||
|
<div>• <span style="color:#ab8d00;">timmy-config</span>: Require PR + 1 approval ✅</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="mem-palace-container" class="mem-palace-ui">
|
||||||
|
<div class="mem-palace-header">MemPalace <span id="mem-palace-status">Initializing...</span></div>
|
||||||
|
<div class="mem-palace-stats">
|
||||||
|
<div>Compression: <span id="compression-ratio">--</span>x</div>
|
||||||
|
<div>Docs mined: <span id="docs-mined">0</span></div>
|
||||||
|
<div>AAAK size: <span id="aaak-size">0B</span></div>
|
||||||
|
</div>
|
||||||
|
<div class="mem-palace-actions">
|
||||||
|
<button id="mine-now-btn" class="mem-palace-btn" onclick="mineChatToMemPalace()">Mine Chat</button>
|
||||||
|
<button class="mem-palace-btn" onclick="searchMemPalace()">Search</button>
|
||||||
|
</div>
|
||||||
|
<div id="mem-palace-logs" class="mem-palace-logs"></div>
|
||||||
|
</div>
|
||||||
|
<div id="mem-palace-controls" style="position:fixed; right:24px; top:54px; background:rgba(74,240,192,0.05); padding:4px 8px; font-family:'JetBrains Mono',monospace; font-size:11px; border-left:2px solid #4af0c0;">
|
||||||
|
<button onclick="mineMemPalace()">Mine Chat</button>
|
||||||
|
<button onclick="searchMemPalace()">Search</button>
|
||||||
|
</div>
|
||||||
|
<div id="mempalace-results" style="position:fixed; right:24px; top:84px; max-height:200px; overflow-y:auto; background:rgba(0,0,0,0.3); padding:8px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#e0f0ff; border-left:2px solid #4af0c0;"></div>
|
||||||
|
<div id="mem-palace-controls" style="position:fixed; right:24px; top:54px; background:rgba(74,240,192,0.05); padding:4px 8px; font-family:'JetBrains Mono',monospace; font-size:10px; border-left:2px solid #4af0c0;">
|
||||||
|
<button class="mem-palace-mining-btn" onclick="mineChatToMemPalace()">Mine Chat</button>
|
||||||
|
<button onclick="searchMemPalace()">Search</button>
|
||||||
|
</div>
|
||||||
|
<div id="mempalace-results" style="position:fixed; right:24px; top:84px; max-height:200px; overflow-y:auto; background:rgba(0,0,0,0.3); padding:8px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#e0f0ff; border-left:2px solid #4af0c0;"></div>
|
||||||
|
>>>>>>> replace
|
||||||
|
```
|
||||||
|
|
||||||
|
index.html
|
||||||
|
```html
|
||||||
|
<<<<<<< search
|
||||||
|
<div class="branch-policy" style="margin-top: 10px; font-size: 12px; color: #aaa;">
|
||||||
|
<strong>BRANCH PROTECTION POLICY</strong><br>
|
||||||
|
<ul style="margin:0; padding-left:15px;">
|
||||||
|
<li>• Require PR for merge ✅</li>
|
||||||
|
<li>• Require 1 approval ✅</li>
|
||||||
|
<li>• Dismiss stale approvals ✅</li>
|
||||||
|
<li>• Require CI ✅ (where available)</li>
|
||||||
|
<li>• Block force push ✅</li>
|
||||||
|
<li>• Block branch deletion ✅</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="default-reviewers" style="margin-top: 8px;">
|
||||||
|
<strong>DEFAULT REVIEWERS</strong><br>
|
||||||
|
<ul style="margin:0; padding-left:15px;">
|
||||||
|
<li>• <span style="color:#4af0c0;">@perplexity</span> (QA gate on all repos)</li>
|
||||||
|
<li>• <span style="color:#7b5cff;">@Timmy</span> (owner gate on hermes-agent)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="implementation-status" style="margin-top: 10px;">
|
||||||
|
<strong>IMPLEMENTATION STATUS</strong><br>
|
||||||
|
<div style="margin-top: 5px; display: flex; flex-direction: column; gap: 2px;">
|
||||||
|
<div>• <span style="color:#4af0c0;">hermes-agent</span>: Require PR + 1 approval + CI ✅</div>
|
||||||
|
<div>• <span style="color:#7b5cff;">the-nexus</span>: Require PR + 1 approval ⚠<> (CI disabled)</div>
|
||||||
|
<div>• <span style="color:#ffd700;">timmy-home</span>: Require PR + 1 approval ✅</div>
|
||||||
|
<div>• <span style="color:#ab8d00;">timmy-config</span>: Require PR + 1 approval ✅</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="mem-palace-logs" class="mem-palace-logs"></div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script type="module" src="./app.js"></script>
|
<script type="module" src="./app.js"></script>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const ASSETS_TO_CACHE = [
|
|||||||
|
|
||||||
self.addEventListener('install', (event) => {
|
self.addEventListener('install', (event) => {
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
caches.open(CachedName).then(cache => {
|
caches.open(CACHE_NAME).then(cache => {
|
||||||
return cache.addAll(ASSETS_TO_CACHE);
|
return cache.addAll(ASSETS_TO_CACHE);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user