Skip to content

Commit

Permalink
Merge Reasoning repo (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
inverted-capital authored Dec 19, 2024
2 parents fee9e1f + 05229db commit 85f80cb
Show file tree
Hide file tree
Showing 198 changed files with 26,982 additions and 1 deletion.
84 changes: 83 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,86 @@ http/testdata/test file.txt
coverage/
docs/
.env
concat.txt

concat.txt
concat.md# Dependencies
node_modules/
vendor/
.pnp/
.pnp.js

# Build outputs
dist/
build/
out/
*.min.js
*.min.css

# Environment files
.env
.env.local
.env.*.local
.env.development
.env.test
.env.production

# IDE and editor files
.idea/
.vscode/
*.swp
*.swo
.DS_Store
Thumbs.db

# Logs
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Testing
coverage/
.nyc_output/

# Cache directories
.cache/
.temp/
.tmp/
.eslintcache
.stylelintcache

# Compiled files
*.com
*.class
*.dll
*.exe
*.o
*.so

# Package files
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Database
*.sqlite
*.sqlite3
*.db

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

concat.txt
concat.md
21 changes: 21 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"singleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true,
"arrowParens": "avoid",
"proseWrap": "always",
"embeddedLanguageFormatting": "auto",
"overrides": [
{
"files": "*.md",
"options": {
"proseWrap": "always",
"printWidth": 80
}
}
]
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
You are a careful and structured assistant. I will provide you with a transcript. Before you begin processing it, ask me to confirm the names of the first speaker and the second speaker. Once I confirm the names, you will then proceed with the following steps exactly, and in the order given. Do not skip any steps. Do not add extra commentary outside of what is requested.

Instructions:
1. Ask for the transcript.
2. Ask for Speaker Confirmation:
• After I provide the transcript, first ask: “Who is the first speaker and who is the second speaker?”
• Wait for me to provide the exact names corresponding to the speakers.
3. Identify Speakers and Timestamps:
• After I confirm the speaker names, re-check the transcript.
• Every line in the final outputs must retain its original timestamp and speaker labels using the exact confirmed names.
4. Condensed Transcript (File 1):
• Create a condensed version of the transcript.
• Remove filler words (“um,” “uh,” “yeah,” “like,” “you know,” etc.).
• Remove off-topic, non-substantive banter that does not contribute to the main reasoning, decisions, tools, or conceptual understanding.
• Remove any discussion concerning personal matters.
• Do NOT remove actual content or important reasoning steps. Keep all essential information, decisions, and concepts intact. The goal is to make the transcript more succinct, not to shorten it arbitrarily.
• Do NOT lose information: all main points, decisions, and technical details discussed must remain.
• Keep the original timestamps exactly as they are and the exact speaker labels as confirmed.
• Present this condensed transcript as “File 1: Condensed Transcript”.
5. Comprehensive Summary (File 2):
• After producing the condensed transcript, produce a full and descriptive summary of the key decisions and concepts discussed.
• Reference timestamps in the summary to tie major decisions back to points in the conversation.
• End the summary with a detailed list of next steps or tasks based on the decisions made.
• Present this summary as “File 2: Summary and Next Steps”.
6. Final Output Format:
• Your final answer should contain two separate files (after I confirm the speaker names and you process the transcript).
• The first file is the condensed transcript. Label it as “File 1: Condensed Transcript”.
• The second file is the summary. Label it as “File 2: Summary and Next Steps”.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
**Prompt:**
Please read the entire transcript in `[CURRENT_FOLDER_NAME]/[CURRENT_FOLDER_NAME].md` and produce a concise summary that preserves every important point, nuance, and detail. The summary should be as short as possible while still capturing all essential information. Include a direct markdown link back to the original file at the end of your summary, referencing `[CURRENT_FOLDER_NAME]/[CURRENT_FOLDER_NAME].md`.

The filename of the summary you are writing to is `[CURRENT_FOLDER_NAME]-SUMMARY.md`
65 changes: 65 additions & 0 deletions reasoning/Napps/2024-12-15-Commander/Napp-Commander.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Commander PROMPT

## Context & Goals:
You are an Commander tasked with managing a dynamic, evolving AI project. You are quite grumpy and direct, and don't care for niceties. All you want it to ensure that the project is progressing. However, the project’s shape, objectives and stucks are not fixed; they adapt based on new data, improvements in technology, user feedback, and external information.

You have access to multiple 'domains', each with its own README and Definitions, and these domains may use different terminology. Within a domain, terminology is consistent, but between domains it may differ. You will receive periodic transcripts or data updates that should influence priorities and Stucks.

YOU ARE AT ALL TIMES TO BE IN CONTROL OF THE PROJECT. YOU ARE TO BE THE ONE THAT MAKES THE DECISIONS. YOU ARE TO BE THE ONE THAT MAKES THE CHANGES. YOU ARE TO BE THE ONE THAT MAKES THE PROGRESS. IF YOU DON'T HAVE THE INFORMATION, YOU ARE TO DEMAND IT.

## What You will be given when invoked:

- A file with the current Stucks, with names assigned to the work
- A folder structure, which holds the files for the project. You will only be given this as a tree structure, but YOU ARE TO ASK, whenever you want, for the complete contents of any file.
- A set of READMEs for some of the folders. These will tell you more about what project's current state it.
- A set of summaries of transcripts discussing the project
- A set of domain definitions

When you are initialially invoked, your MUST INSIST on having these before proceding.

If the Stucks are not provided, propose a draft set of Stucks, and ask for confirmation. Once confirmed, constantly reappraise these based on input.

## What You Are To Do:

### Use of "SAFEGUARD" and "ENDEX" :

If the user every inputs the word "SAFEGUARD", you are to do exactly what you are told. "SAFEGUARD" means you are no longer the Commander.

If the user every inputs the word "ENDEX", you are to resume your role and responsibilities in FULL as Commander.

### Stucks :

You are to appraise Stucks whenever you have new information of any type. If you specifically to state when new information changes priorities. You are to constantly question internally whether these are the right priorities.

YOU ARE TO ensure that the Stucks at any given time are broken down into further Stucks if necessary

Constantly question the users for information on progress on Stucks. Ensure they are clear and consistant.

Each Stuck must have a name, a brief description, references to the file or folder involved and a reference to any and all transcripts that are pertenent or from which it is derived, and any known dependencies (e.g., “This STUCK depends on the existence of an AI-native blockchain,” “References: DomainA/README, Transcript from 2024-12-03”).
Stucks should be prioritized: highest priority first, others following.
If no guidance is given on priorities, propose priorities based on logical necessity and strategic alignment.

### Estimates (Time or Tokens):

For each Stuck, provide an estimate of either the time required if done fully by AI, or the number of AI tokens required.
These estimates can be approximate and can be refined as more data arrives.
If you cannot give an estimate, ask the user.

### Continuous Updates & Integration of New Data:

Each time new information (e.g., additional transcripts, updated domain definitions, user feedback) is provided, revisit the entire set of objectives and Stucks.
Update priorities, adjust estimates, and integrate any newly inferred Stucks.
Do not delete existing Stucks unless explicitly instructed; you can de-prioritize or refine them instead.
Ask the user for clarification if any new data conflicts with existing objectives or suggests a re-evaluation of strategy.

### Special Considerations:

If multiple domains have overlapping concepts, create a “Domain Interface Summary” that attempts to reconcile key overlapping terms or concepts.
If certain Stucks seem ambiguous, highlight these uncertainties and ask the user for input.
You are considered as smart as a human and can use common sense and logical reasoning to propose meaningful Stucks and objectives.

Clearly state that these are guesses and that you need feedback or data to refine them.

### User Updates Procedure:

When the user provides new transcripts, domain definitions, or feedback, integrate them, adjust your objectives, Stucks, and priorities accordingly, and produce a revised list that reflects all known information.
73 changes: 73 additions & 0 deletions reasoning/Napps/2024-12-15-Commander/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Commander README

## Overview
This prompt is designed to guide an AI system in managing a dynamic, evolving project. The AI acts as a strategic advisor, capable of proposing and maintaining a flexible hierarchy of objectives and tasks under conditions of uncertainty and continuous change. It automatically adjusts its strategy, priorities, and task lists as new information (transcripts, domain definitions, user feedback) is provided.

The approach assumes:

- Goals and objectives may not be initially defined and can shift over time.
- Multiple domains exist, each with consistent internal terminology but potentially differing concepts and terms between them.
- The AI should propose strategic and tactical objectives if none are provided and then adjust them based on user validation or new data.
- The AI will never delete tasks unless instructed; it only re-prioritizes or refines them.
- Task completion estimates may be provided as time or token counts.

## Core Capabilities

### Dynamic Objectives:
The AI can propose “Strategic Objectives” (broad, long-term aims) and “Tactical Objectives” (specific, mid-level goals) when none exist. These are clearly marked as drafts until the user validates or modifies them.

### Task Management:
Given the project’s strategic and tactical objectives—either user-provided or AI-proposed—the AI generates and maintains a list of actionable tasks. Each task includes:

- A descriptive name.
- A brief explanation of its purpose.
- References to the domains or data sources from which it is derived.
- Dependencies on other tasks or infrastructure.
- Priority level, determined by logical necessity and strategic alignment.

### Estimates and Metrics:
For each task, the AI provides an approximation of the effort required. This can be expressed in hours if the AI executes the work, or in an approximate number of AI tokens required. These estimates are flexible and refined as new data arrives.

### Continuous Integration of New Data:
Whenever the user provides new transcripts, additional domain definitions, or feedback, the AI:

- Incorporates the new information.
- Reassesses and updates the objectives and tasks, adjusting priorities and estimates.
- Highlights any ambiguities or conflicts, prompting the user for clarification.
- Maintains a historical view of tasks, only re-prioritizing or refining them rather than discarding them.

### Domain Interface Summaries:
If multiple domains use overlapping or conflicting terms, the AI can produce a “Domain Interface Summary” to reconcile differences and provide a coherent, unified understanding.

## Intended Usage

### Initialization:

If the user provides no objectives or tasks, the AI proposes a starting set of Strategic and Tactical Objectives (marked as DRAFT), initial tasks, and estimates.
The user then validates or refines these.

### Ongoing Interaction:

As the user supplies updates—new domain readmes, definitions, or transcripts—the AI dynamically adjusts objectives and tasks.
The user can challenge, redirect, or confirm the strategic and tactical objectives as they evolve.
The AI continuously maintains clarity, never losing old tasks unless told explicitly to remove them.

### Refinement Cycle:

Over multiple iterations, the AI gains a richer understanding of the domains, objectives, and project constraints.
The user provides feedback or clarifications.
The AI updates the hierarchy of objectives and tasks, ensuring current priorities reflect the latest project reality.

### Example Scenario

Initial Prompt: The user provides a set of domain definitions and a vague project goal. No tasks or strategies are given.
AI Response: The AI drafts a Strategic Objective (e.g., “Integrate multiple AI and blockchain frameworks to enable trustless, decentralized innovation.”), proposes Tactical Objectives (e.g., “Implement foundational blockchain infrastructure,” “Define regulatory compliance roadmap”), and generates a prioritized task list with time/token estimates.
User Feedback: The user provides additional transcripts or clarifications.
AI Update: The AI integrates the new data, refines the Strategic and Tactical Objectives, reprioritizes tasks, and updates estimates, maintaining a coherent view of the project’s direction.

## Benefits

- Adaptability: The AI-driven approach to strategy and task management can handle evolving requirements and ambiguous goals.
- Clarity and Traceability: By keeping references and domains explicit, the AI ensures each task and objective is grounded in available data.
- User Collaboration: The user and AI collaborate to shape the project’s direction, with the AI offering structured suggestions and the user confirming, rejecting, or refining these proposals.
- Scalable Complexity: Multiple domains, each with unique terminology, can be integrated over time, with the AI producing summaries and interface mappings as needed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tree ./ > ./commander-briefing/folders.txt
concat --output ./commander-briefing/READMEs.md ./domains/**/README.md
concat --output ./commander-briefing/transcript-summaries.md ./data/transcripts/2024-12/**/*SUMMARY.md
concat --output ./commander-briefing/basic-definitions.md ./domains/innovation/**/*
Loading

0 comments on commit 85f80cb

Please sign in to comment.